Redis常用命令之操作Set(集合)


場景

Centos中Redis的下載編譯與安裝(超詳細):

https://blog.csdn.net/BADAO_LIUMANG_QIZHI/article/details/103967334

Redis的啟動和關閉(前台啟動和后台啟動):

https://blog.csdn.net/BADAO_LIUMANG_QIZHI/article/details/103972348

RedisDesktopManager客戶端可視化工具下載安裝與使用:

https://blog.csdn.net/BADAO_LIUMANG_QIZHI/article/details/103983147

注:

博客:
https://blog.csdn.net/badao_liumang_qizhi
關注公眾號
霸道的程序猿
獲取編程相關電子書、教程推送與免費下載。

實現

set集合是string類型的無序集合,set是通過hashtable實現的,對集合我們可以取交集、並集、差集

SADD命令

語法

SADD key member [member ...]

將一個或多個 member 元素加入到集合 key 當中,已經存在於集合的 member 元素將被忽略。

假如 key 不存在,則創建一個只包含 member 元素作成員的集合。

當 key 不是集合類型時,返回一個錯誤。

 

舉例

 

 

 

SMEMBERS命令

語法

SMEMBERS key

返回集合 key 中的所有成員。

不存在的 key 被視為空集合。

舉例同上圖

SREM命令

語法

SREM key member [member ...]

移除集合 key 中的一個或多個 member 元素,不存在的 member 元素會被忽略。

當 key 不是集合類型,返回一個錯誤。

舉例

 

 

 

SPOP命令

語法

SPOP key

移除並返回集合中的一個隨機元素。

如果只想獲取一個隨機元素,但不想該元素從集合中被移除的話,可以使用 SRANDMEMBER 命令。

舉例

 

 

 

SDIFF命令

 

語法

SDIFF key [key ...]

差集運算,返回在第一個set 中存在,第二個set 中不存在的內容

舉例

 

 

 

SDIFFSTORE命令

語法

SDIFFSTORE destination key [key ...]

這個命令的作用和 SDIFF 類似,但它將結果保存到 destination 集合,而不是簡單地返回結果集。

如果 destination 集合已經存在,則將其覆蓋。

destination 可以是 key 本身。

舉例

 

 

 

SINTER命令

語法

SINTER key [key ...]

返回一個集合的全部成員,該集合是所有給定集合的交集。

不存在的 key 被視為空集。

當給定集合當中有一個空集時,結果也為空集(根據集合運算定律)。

 

舉例

 

 

 

SUNION命令

語法

SUNION key [key ...]

返回一個集合的全部成員,該集合是所有給定集合的並集。

不存在的 key 被視為空集

舉例

 

 

 

SUNIONSTORE命令

語法

SUNIONSTORE destination key [key ...]

這個命令類似於 SUNION 命令,但它將結果保存到 destination 集合,而不是簡單地返回結果集。

如果 destination 已經存在,則將其覆蓋。

destination 可以是 key 本身

舉例

 

 

 

SMOVE命令

語法

SMOVE source destination member

將 member 元素從 source 集合移動到 destination 集合。

SMOVE 是原子性操作。

如果 source 集合不存在或不包含指定的 member 元素,則 SMOVE 命令不執行任何操作,僅返回 0 。否則, member 元素從 source 集合中被移除,並添加到 destination 集合中去。

當 destination 集合已經包含 member 元素時, SMOVE 命令只是簡單地將 source 集合中的 member 元素刪除。

當 source 或 destination 不是集合類型時,返回一個錯誤。

 

舉例

 

 

 

SCARD命令

語法

SCARD key

返回集合 key 的基數(集合中元素的數量)。

舉例

 

 

 

SISMEMBER命令

語法

SISMEMBER key member

判斷 member 元素是否集合 key 的成員。

舉例

 

 

 

SRANDMEMBER命令

語法

SRANDMEMBER key [count]

如果命令執行時,只提供了 key 參數,那么返回集合中的一個隨機元素。

從 Redis 2.6 版本開始, SRANDMEMBER 命令接受可選的 count 參數:

如果 count 為正數,且小於集合基數,那么命令返回一個包含 count 個元素的數組,數組中的元素各不相同。如果 count 大於等於集合基數,那么返回整個集合。
如果 count 為負數,那么命令返回一個數組,數組中的元素可能會重復出現多次,而數組的長度為 count 的絕對值。

舉例

 

 

 

其他命令參考:

http://doc.redisfans.com/set/index.html


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM