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

歡迎訪問 生活随笔!

生活随笔

當(dāng)前位置: 首頁 > 运维知识 > 数据库 >内容正文

数据库

Redis学习第五课:Redis Set类型及操作

發(fā)布時間:2023/12/18 数据库 25 豆豆
生活随笔 收集整理的這篇文章主要介紹了 Redis学习第五课:Redis Set类型及操作 小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.

Set是集合,它是string類型的無序集合。set是通過hash table實現(xiàn)的,添加、刪除和查找的復(fù)雜度都是O(1)。

對集合我們可以取并集、交集、差集。通過這些操作我們可以實現(xiàn)SNS中的好友推薦和blog的tag功能。

Set集合操作:

sadd:向名稱為Key的set中添加元素,同一集合中不能出現(xiàn)相同的元素值。(用法:sadd set集合名稱 元素值)

127.0.0.1:6379> sadd myset1 hello

(integer) 1

127.0.0.1:6379> sadd myset1 world

(integer) 1

127.0.0.1:6379> smembers myset1

1) "hello"

2) "world"

127.0.0.1:6379> sadd myset1 hello

(integer) 0

srem:刪除名稱為key的set中的元素。(用法:srem set集合名稱 要刪除的元素值)

127.0.0.1:6379> smembers myset1

1) "hello"

2) "fine"

3) "world"

127.0.0.1:6379> srem myset1 fine

(integer) 1

127.0.0.1:6379> smembers myset1

1) "hello"

2) "world"

spop:隨機返回并刪除名稱為key的set中一個元素。(用法:srem set集合名稱)

127.0.0.1:6379> smembers myset1

1) "hello"

2) "world"

127.0.0.1:6379> spop myset1

"hello"

127.0.0.1:6379> smembers myset1

1) "world"

sdiff:返回所有給定key與第一個key的差集。(用法:sdiff set集合1 set集合2)

127.0.0.1:6379> smembers myset2

1) "two"

2) "one"

127.0.0.1:6379> smembers myset3

1) "three"

2) "two"

127.0.0.1:6379> sdiff myset2 myset3

1) "one"

sdiffstore:返回所有給定key與第一個key的差集,并將結(jié)果存為另一個key。(用法:sdiffstore 差集數(shù)據(jù)存入的集合 set集合1 set集合2)

127.0.0.1:6379> smembers myset3

1) "one"

2) "two"

3) "four"

127.0.0.1:6379> smembers myset4

1) "two"

2) "one"

127.0.0.1:6379> sdiffstore myset5 myset3 myset4

(integer) 1

127.0.0.1:6379> smembers myset5

1) "four"

sinter:返回所有給定key的交集。(用法:sinter set集合1 set集合2)

127.0.0.1:6379> smembers myset3
1) "one"
2) "two"
3) "four"
127.0.0.1:6379> smembers myset4
1) "two"
2) "one"
127.0.0.1:6379> sinter myset3 myset4
1) "two"
2) "one"

sinterstore:返回所有給定Set集合的交集,并將結(jié)果存為另一個set集合。(用法:sinterstore 交集結(jié)果集合 set集合1 set集合2)

127.0.0.1:6379> smembers myset3
1) "one"
2) "two"
3) "four"
127.0.0.1:6379> smembers myset4
1) "two"
2) "one"
127.0.0.1:6379> sinterstore myset6 myset3 myset4
(integer) 2
127.0.0.1:6379> smembers myset6
1) "one"
2) "two"

sunion:返回所有給定key的并集。(用法:sunion set集合1 set集合2)

127.0.0.1:6379> smembers myset3
1) "one"
2) "two"
3) "four"
127.0.0.1:6379> smembers myset4
1) "two"
2) "one"
127.0.0.1:6379> sunion myset3 myset4
1) "two"
2) "one"
3) "four"

sunionstore:返回所有給定key的并集,并將結(jié)果存為另一個set集合。(用法:sunionstore 并集結(jié)果集合 set集合1 set集合2)

127.0.0.1:6379> smembers myset3
1) "one"
2) "two"
3) "four"
127.0.0.1:6379> smembers myset4
1) "two"
2) "one"
127.0.0.1:6379> sunionstore myset7 myset3 myset4
(integer) 3
127.0.0.1:6379> smembers myset7
1) "two"
2) "one"
3) "four"

smove:從第一個集合中移除一個元素到另一個集合中。(用法:smove 集合1 集合2 要移除的元素值)

127.0.0.1:6379> smembers myset7
1) "two"
2) "one"
3) "four"
127.0.0.1:6379> smembers myset5
1) "four"
127.0.0.1:6379> smove myset7 myset5 one
(integer) 1
127.0.0.1:6379> smembers myset5
1) "one"
2) "four"

scard:返回名稱為key的set集合的元素個數(shù)。(用法:scard 集合1)

?127.0.0.1:6379> smembers myset5
1) "one"
2) "four"
127.0.0.1:6379> scard myset5
(integer) 2

sismember:判斷某個值是否是集合的元素。(用法:sismember 集合1 指定的元素值)

127.0.0.1:6379> smembers myset7
1) "two"
2) "four"
127.0.0.1:6379> sismember myset7 two
(integer) 1
127.0.0.1:6379> sismember myset7 five
(integer) 0

srandmember:隨機返回集合中的一個元素,但不刪除元素。(用法:srandmember 集合1)

127.0.0.1:6379> smembers myset3
1) "one"
2) "two"
3) "four"
127.0.0.1:6379> srandmember myset3
"four"
127.0.0.1:6379> srandmember myset3
"four"

轉(zhuǎn)載于:https://www.cnblogs.com/zxtceq/p/7250963.html

總結(jié)

以上是生活随笔為你收集整理的Redis学习第五课:Redis Set类型及操作的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。

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