【Redis】set類型

目錄

  • 1、介紹
  • 2、底層實現
    • 【1】整數集合
    • 【2】哈希表
  • 3、常用指令

1、介紹

Redis的set集合類型是一種無序且元素唯一的數據結構,支持高效的成員判斷、集合運算和隨機訪問。

2、底層實現

【1】整數集合

適用場景

當集合中所有的元素都是整數,且元素數量較少時(默認配置為 set-max-intset-entries 512)

實現特點

1、連續內存存儲,類似數組,支持二分法查找
2、自動升級,當插入非整數或超出當前整數類型范圍時,會轉化為哈希表

【2】哈希表

適用場景

元素包含非整數,或元素數量超過intset閾值

實現特定

1、使用Redis的通用鏈式哈希結構,鍵為元素值,值為NULL。
2、自動擴縮容,通過rehash機制平衡性能與內存占用。

3、常用指令

命令語法作用
SADDSADD key member [member …]向集合key添加一個或多個成員,已存在的成員會被忽略
SREMSREM key member [member …]從集合key移除一個或多個成員,不存在的成員會被忽略
SMEMBERSSMEMBERS key返回集合key中所有成員(無序)
SISMEMBERSISMEMBER key member判斷member是否是集合key的成員,返回1(存在)或0(不存在)
SCARDSCARD key返回集合key的成員數量
SPOPSPOP key [count]隨機移除并返回集合key中的一個或多個成員(默認1個)
SRANDMEMBERSRANDMEMBER key [count]隨機返回集合key中的一個或多個成員
SMOVESMOVE source dest member將member從source集合移動到dest集合(原子操作)
SINTERSINTER key [key …]返回多個集合的交集
SUNIONSUNION key [key …]返回多個集合的并集
SDIFFSDIFF key [key …]返回第一個集合與其它集合的差值(即key1有而其他集合沒有的成員)
SINTERSTORESINTERSTORE dest key [key …]計算多個集合的交集并存儲到dest
SUNIONSTORESUNIONSTORE dest key [key …]計算多個結合的并集并存儲到dest
SDIFFSTORESDIFFSTORE dest key [key …]計算多個集合的差集并存儲到dest
SSCANSSCAN key cursor [MATCH pattern] [COUNT count]增量迭代集合中的成員

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/pingmian/78652.shtml
繁體地址,請注明出處:http://hk.pswp.cn/pingmian/78652.shtml
英文地址,請注明出處:http://en.pswp.cn/pingmian/78652.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

web技術與nginx網站環境部署

一:web基礎 1.域名和DNS 1.1域名的概念 網絡是基于TCP/IP協議進行通信和連接的,每一臺主機都有一個唯一的標識(固定的IP地址),用以區別在網絡上成千上萬個用戶和計算機。網絡在區分所有與之相連的網絡和主機時,均采用一種唯一、通用的地址…

LeetCode【劍指offer】系列(動態規劃篇)

劍指offer10-I.斐波那契數列 題目鏈接 題目:斐波那契數(通常用F(n)表示)形成的序列稱為斐波那契數列 。該數列由 0 和 1 開始,后面的每一項數字都是前面兩項數字的和。也就是: F(0) 0,F(1) 1 F(n) F(…

JVM 內存分配策略

引言 在 Java 虛擬機(JVM)中,內存分配與垃圾回收是影響程序性能的核心機制。內存分配的高效性直接決定了對象創建的速率,而垃圾回收策略則決定了內存的利用率以及系統的穩定性。為了在復雜多變的應用場景中實現高效的內存管理&am…

【二分查找】尋找峰值(medium)

6. 尋找峰值(medium) 題?描述:解法?(?分查找算法):算法思路:C 算法代碼:Java 算法代碼: 題?鏈接:162. 尋找峰值 題?描述: 峰值元素是指其值…

MongoDB與PHP7的集成與優化

MongoDB與PHP7的集成與優化 引言 隨著互聯網技術的飛速發展,數據庫技術在現代軟件開發中扮演著越來越重要的角色。MongoDB作為一種流行的NoSQL數據庫,以其靈活的數據模型和強大的擴展性受到眾多開發者的青睞。PHP7作為當前最流行的服務器端腳本語言之一,其性能和穩定性也得…

【GIT】github中的倉庫如何刪除?

你可以按照以下步驟刪除 GitHub 上的倉庫(repository): 🚨 注意事項: ??刪除倉庫是不可恢復的操作,所有代碼、issue、pull request、release 等內容都會被永久刪除。 🧭 刪除 GitHub 倉庫步驟…

焊接機排錯

焊接機 一、前定位后焊接 兩個機臺,①極柱定位,相機定位所有極柱點和mark點;②焊接機,相機定位mark點原理:極柱定位在成功定位到所有極柱點和mark點后,可以建立mark點和極柱點的關系。焊接機定位到mark點…

認識和使用Vuex-案例

集中管理共享的數據,易于開發和后期維護;能夠高效的實現組件之間的數據共享,提高開發效率;存儲在Vuex的數據是響應式的,能夠實時保持頁面和數據的同步; 安裝Vuex依賴包 npm install vuex --save導入包 im…

LLM大模型中的基礎數學工具—— 信號處理與傅里葉分析

Q51: 推導傅里葉變換 的 Parseval 定理 傅里葉變換的 Parseval 定理揭示了啥關系? Parseval 定理揭示了傅里葉變換中時域與頻域的能量守恒關系,即信號在時域的總能量等于其在頻域的總能量。這就好比一個物體無論從哪個角度稱重,重量始終不…

對Mac文字雙擊或三擊鼠標左鍵沒有任何反應

目錄 項目場景: 問題描述 原因分析: 解決方案: 項目場景: 在使用Mac系統的時候,使用Apple無線鼠標,雙擊左鍵能夠選取某個單詞或詞語,三擊左鍵能夠選取某一行,(百度、…

Go語言企業級項目使用dlv調試

使用dlv調試Go語言代碼 打包Go代碼(禁止優化和內聯(便于調試更復雜的邏輯)): go build -gcflags"all-N -l" -o xxx_api_debug.exe啟動一個dlb監聽可運行程序的端口: dlv --listen:2345 --headlesstrue --api-version…

Kafka命令行的使用/Spark-Streaming核心編程(二)

Kafka命令行的使用 創建topic kafka-topics.sh --create --zookeeper node01:2181,node02:2181,node03:2181 --topic test1 --partitions 3 --replication-factor 3 分區數量,副本數量,都是必須的。 數據的形式: 主題名稱-分區編號。 在…

Python3:Jupyterlab 安裝和配置

Python3:Jupyterlab 安裝和配置 Jupyter源于Ipython Notebook項目,是使用Python(也有R、Julia、Node等其他語言的內核)進行代碼演示、數據分析、機器學習、可視化、教學的非常好的工具。 最新的基于web的交互式開發環境,適用于n…

快速排序及其在Unity游戲開發中的應用

一、快速排序(Quick Sort) 快速排序是一種**分治法(Divide and Conquer)**思想的排序算法,它的基本步驟是: 選一個基準元素(pivot):通常選第一個元素、最后一個元素,或者隨機一個。分區(Partition):把數組分成兩部分,小于等于 pivot 的放左邊,大于 pivot 的放右…

【硬核干貨】SonarQube安全功能

原文鏈接:【硬核干貨】SonarQube安全功能 關于曉數神州 曉數神州堅持以“客戶為中心”的宗旨,為客戶提供專業的解決方案和技術服務,構建多引擎數字化體系。 核心業務1:聚焦DevOps全棧產品,打造需求管理、項目管理、開…

修改el-select背景顏色

修改el-select背景顏色 /* 修改el-select樣式--直接覆蓋默認樣式(推薦) */ ::v-deep .el-select .el-input__inner {background-color: #1d2b72 !important; /* 修改輸入框背景色 */color: #fff; } ::v-deep .el-select .el-input__wrapper {background-…

Unity-粒子系統:螢火蟲粒子特效效果及參數

螢火蟲特效由兩部分組成。螢火蟲粒子底色粒子面片。螢火蟲的旋轉飛動主要由 Noise參數和Color over Lifetime模塊控制。 貼圖:中間實周邊虛的圓,可隨意自行制作 Shader:Universal Render Pipeline/2D/Sprite-Lit-Default 以下是粒子詳細參…

K8S Service 原理、圖例——深度好文

一、理論介紹 1.1、3W 法則 1、是什么? Service 是一種為一組功能相同的 pod 提供單一不變的接入點的資源。當 Service 存在時,它的IP地址和端口不會改變。客戶端通過IP地址和端口號與 Service 建立連接,這些連接會被路由到提供該 Service 的…

Alibaba Cloud Linux 3.2104 LTS 64位 容器優化版安裝docker docker compose記錄

整個安裝過程耗時4小時。(包含以下檢查內容:) 檢查該linux版本信息(并通過監控指標檢查運行狀態/cpu占用/內存占用/磁盤讀取寫入IOPS /同時連接數) 1:根據當前的系統進行yum與dnf的升級,保持穩定修復的版本…

STM32N6570-DK ISP調試

STM32N6570-DK之ISP調試應用 準備工作-下載安裝軟件包:一、使用STM32CubeProgrammer給板子燒入STM32N6_ISP_IQTune_App_revC01-v1.1.0-trusted.bin。二、打開STM32 ISP IQTune.exe ,出現可連接端口:三、根據教程進行相應調試:準備工作-下載安裝軟件包: https://www.st.co…