集合set:set 集合是無序且不可重複的,set 是通過 hashtable 實現的,新增刪除和查詢的複雜度都是o(1),效率很高。它最大的優勢在於可以進行交集、並集、差集操作。set 集合中最大元素數量是 4294967295。
sadd 新增元素(重複元素不再新增)
127.0.0.1:6379> sadd set1 a b c
(integer) 3
127.0.0.1:6379> sadd set1 c d e
(integer) 2
smembers 檢視指定集合元素
127.0.0.1:6379> smembers set1
1) "b"
2) "d"
3) "c"
4) "a"
5) "e"
srem 刪除元素
127.0.0.1:6379> srem set1 d e
(integer) 2
127.0.0.1:6379> smembers set1
1) "a"
2) "c"
3) "b"
sismember 判斷某個元素是否存在,存在返回1,否則返回0
127.0.0.1:6379> sismember set1 a
(integer) 1
127.0.0.1:6379> sismember set1 d
(integer) 0
sdiff 計算差集
127.0.0.1:6379> smembers set1
1) "a"
2) "c"
3) "b"
127.0.0.1:6379> smembers set2
1) "b"
2) "d"
3) "c"
127.0.0.1:6379> sdiff set1 set2
1) "a"
127.0.0.1:6379> sdiff set2 set1
1) "d"
sinter 計算交集
127.0.0.1:6379> smembers set1
1) "a"
2) "c"
3) "b"
127.0.0.1:6379> smembers set2
1) "b"
2) "d"
3) "c"
127.0.0.1:6379> sinter set1 set2
1) "c"
2) "b"
sunion 計算並集
127.0.0.1:6379> sunion set1 set2
1) "b"
2) "d"
3) "c"
4) "a"
scard 計算元素總數
127.0.0.1:6379> smembers set1
1) "a"
2) "c"
3) "b"
127.0.0.1:6379> scard set1
(integer) 3
srandmember key 個數
127.0.0.1:6379> srandmember set1
"b"127.0.0.1:6379> srandmember set1
"c"
sdiffstore 把差集結果儲存到新集合中
127.0.0.1:6379> smembers set1
1) "a"
2) "c"
3) "b"
127.0.0.1:6379> smembers set2
1) "b"
2) "d"
3) "c"
127.0.0.1:6379> sdiffstore sdiff set1 set2
(integer) 1
127.0.0.1:6379> smembers sdiff
1) "a"
sinterstore 把交集結果儲存到新集合中
127.0.0.1:6379> sinterstore sinter set1 set2
(integer) 2
127.0.0.1:6379> smembers sinter
1) "b"
2) "c"
sunionstore 把並集結果儲存到新集合中
127.0.0.1:6379> sunionstore sunion set1 set2
(integer) 4
127.0.0.1:6379> smembers sunion
1) "b"
2) "d"
3) "c"
4) "a"
Redis資料結構詳解之Set(三)
在redis中,set和list都是字串序列,非常相似,不同之處在於set是用雜湊表來保持字串的唯一性,沒有先後順序,不像list一樣,可以在首尾增刪資料。但是set也有自己的相應處理命令來完成對自己的操作。下面我們來看下set的命令怎麼使用。redis中set列表的新增命令sadd,key值相同下...
Redis資料結構詳解之Set(三)
在redis中,set和list都是字串序列,非常相似,不同之處在於set是用雜湊表來保持字串的唯一性,沒有先後順序,不像list一樣,可以在首尾增刪資料。但是set也有自己的相應處理命令來完成對自己的操作。下面我們來看下set的命令怎麼使用。redis中set列表的新增命令sadd,key值相同下...
Redis資料結構詳解之Set(三)
序言 在redis中,set和list都是字串序列,非常相似,不同之處在於set是用雜湊表來保持字串的唯一性,沒有先後順序,不像list一樣,可以在首尾增刪資料。但是set也有自己的相應處理命令來完成對自己的操作。下面我們來看下set的命令怎麼使用。操作單個set的命令 redis中set列表的新增...