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
總結
以上是生活随笔為你收集整理的Redis常用命令之操作Set(集合)的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: Redis常用命令之操作SortedSe
- 下一篇: Redis之通用的key操作命令