日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當(dāng)前位置: 首頁 > 人文社科 > 生活经验 >内容正文

生活经验

Redis 笔记(06)— set 类型(向集合添加元素、获取集合元素个数、判断集合中是否包含某个元素、删除给定元素、返回集合中所有元素、计算集合的交集、并集、差集)

發(fā)布時(shí)間:2023/11/28 生活经验 38 豆豆

Redisset 集合內(nèi)部的鍵值對是無序的唯一的。它的內(nèi)部實(shí)現(xiàn)相當(dāng)于一個(gè)特殊的字典,字典中所有的 value 都是一個(gè)值 NULL 。當(dāng)集合中最后一個(gè)元素移除之后,數(shù)據(jù)結(jié)構(gòu)自動(dòng)刪除,內(nèi)存被回收。

set 結(jié)構(gòu)可以用來存儲活動(dòng)中獎(jiǎng)的用戶 ID,因?yàn)橛腥ブ毓δ?#xff0c;可以保證同一個(gè)用戶不會(huì)中獎(jiǎng)兩次。

1. set 類型相關(guān)命令

命令說明
sadd key member添加一個(gè)string元素到key對應(yīng)的set集合中
scard key返回set的元素個(gè)數(shù)
sismember key member判斷member是否在set中
srem key member從key對應(yīng)set中移除給定元素
smembers key返回key對應(yīng)set的所有元素,結(jié)果是無序的
spop key[count]刪除并取得一個(gè)集合里面的元素
srandmember key [count]從集合中隨機(jī)獲取一個(gè)key
smove p1 p2 member從p1對應(yīng)set中移除給定元素并添加到p2對應(yīng)set中
sinter key p1 p2…pN返回所有給定key的交集
sunion key p1 p2…pN返回所有給定key的并集
sdiff key p1 p2…pN返回所有給定key 的差集
sinterstore destination key [key….]獲取兩個(gè)集合的交集,并存儲在一個(gè)關(guān)鍵的結(jié)果集
sunionstore destination key [key…]合并set集合,并將結(jié)果存入新的set里面
sdifferstore destination key[key…]獲取隊(duì)列的差集,并存儲在一個(gè)新的結(jié)果集
smove source destination member移動(dòng)集合里的一個(gè)key到另一個(gè)集合

2. set 類型 使用示例

127.0.0.1:6379> sadd set "east"
(integer) 1
127.0.0.1:6379> sadd set "west"
(integer) 1
127.0.0.1:6379> sadd set "south"
(integer) 1
127.0.0.1:6379> sadd set "north"
(integer) 1
127.0.0.1:6379> scard set
(integer) 4
127.0.0.1:6379> sismember set "middle"
(integer) 0
127.0.0.1:6379> sismember set "south"
(integer) 1
127.0.0.1:6379> sadd set "middle"
(integer) 1
127.0.0.1:6379> scard set
(integer) 5
127.0.0.1:6379> smembers set	# 注意順序,和插入的并不一致,因?yàn)?set 是無序的
1) "east"
2) "south"
3) "north"
4) "west"
5) "middle"
127.0.0.1:6379> spop set 
"middle"
127.0.0.1:6379> srandmember set
"east"
127.0.0.1:6379> srandmember set
"east"
127.0.0.1:6379> srandmember set
"west"
127.0.0.1:6379> scard set
(integer) 4
127.0.0.1:6379> sadd set_a 1
(integer) 1
127.0.0.1:6379> sadd set_a 2
(integer) 1
127.0.0.1:6379> sadd set_a 3
(integer) 1
127.0.0.1:6379> sadd set_b 2
(integer) 1
127.0.0.1:6379> sadd set_b 3
(integer) 1
127.0.0.1:6379> sadd set_b 4
(integer) 1
127.0.0.1:6379> smove set set_a east
(integer) 1
127.0.0.1:6379> smembers set_a
1) "east"
2) "3"
3) "2"
4) "1"
127.0.0.1:6379> sinter set_a set_b
1) "2"
2) "3"
127.0.0.1:6379> sunion set_a set_b
1) "2"
2) "4"
3) "east"
4) "3"
5) "1"
127.0.0.1:6379> sdiff set_a set_b
1) "east"
2) "1"
127.0.0.1:6379> smove set set_a
(error) ERR wrong number of arguments for 'smove' command
127.0.0.1:6379> smove set set_a west
(integer) 1
127.0.0.1:6379> smembers set_a
1) "east"
2) "3"
3) "2"
4) "1"
5) "west"
127.0.0.1:6379> 

總結(jié)

以上是生活随笔為你收集整理的Redis 笔记(06)— set 类型(向集合添加元素、获取集合元素个数、判断集合中是否包含某个元素、删除给定元素、返回集合中所有元素、计算集合的交集、并集、差集)的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯(cuò),歡迎將生活随笔推薦給好友。