redis的数据类型-set

本文详细介绍了Redis中集合数据类型的基本操作,包括添加、删除、随机获取等,并展示了如何利用集合进行交集、并集和差集运算,适用于实现社交网络的好友推荐等功能。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

它是String类型的无序集合,集合可以取交集并集差集,通过这些操作我们可以实现sns的推荐和blog的tag功能。
* sadd
添加元素(返回1成功 0失败)

127.0.0.1:6379> sadd myset1 one
(integer) 1
127.0.0.1:6379> sadd myset1 two
(integer) 1
127.0.0.1:6379> sadd myset1 two
(integer) 0
127.0.0.1:6379> smembers myset1
1) "two"
2) "one"
  • srem
    删除set中的元素
127.0.0.1:6379> sadd myset2 ont
(integer) 1
127.0.0.1:6379> srem myset2 ont
(integer) 1
127.0.0.1:6379> smembers myset2
(empty list or set)
127.0.0.1:6379> 
  • spop
    随机返回并删除集合中的元素
127.0.0.1:6379> sadd myset3 one
(integer) 1
127.0.0.1:6379> sadd myset3 two
(integer) 1
127.0.0.1:6379> sadd myset3 three
(integer) 1
127.0.0.1:6379> sadd myset3 four
(integer) 1
127.0.0.1:6379> sadd myset3 five
(integer) 1
127.0.0.1:6379> smembers myset3
1) "four"
2) "three"
3) "two"
4) "one"
5) "five"
127.0.0.1:6379> spop myset3
"three"
127.0.0.1:6379> spop myset3
"one"
127.0.0.1:6379> spop myset3
"two"
127.0.0.1:6379> smembers myset3
1) "four"
2) "five"
  • sdiff
    返回两个集合的差集
127.0.0.1:6379> smembers myset3
1) "four"
2) "five"
127.0.0.1:6379> smembers myset1
1) "two"
2) "one"
127.0.0.1:6379> sdiff myset3 myset1
1) "four"
2) "five"
127.0.0.1:6379> sdiff myset1  myset3
1) "two"
2) "one"
  • sdiffstore
    将两个集合的差集存到第三个集合中
127.0.0.1:6379> sdiffstore  myset5  myset1  myset3
(integer) 2
127.0.0.1:6379> smembers myset5
1) "two"
2) "one"
  • sinter
    交集
  • sinterstore
  • sunion
  • sunionstore
  • smove
    从第一个集合移动到另一个集合
127.0.0.1:6379> smembers myset5
1) "two"
2) "one"
127.0.0.1:6379> smembers myset3
1) "four"
2) "five"
127.0.0.1:6379> smove myset5 myset3 two
(integer) 1
127.0.0.1:6379> smembers myset5
1) "one"
127.0.0.1:6379> smembers myset3
1) "two"
2) "four"
3) "five"
  • scard
    查看集合的元素个数
127.0.0.1:6379> smembers myset3
1) "two"
2) "four"
3) "five"
127.0.0.1:6379> scard myset3
(integer) 3
  • sismember
    是否某元素是否属于某集合
127.0.0.1:6379> smembers myset3
1) "two"
2) "four"
3) "five"
127.0.0.1:6379> scard myset3
(integer) 3
127.0.0.1:6379> sismember myset3 two
(integer) 1
127.0.0.1:6379> sismember myset3 six
(integer) 0
  • srandmember
    随机返回集合中的元素,但不删除
127.0.0.1:6379> smembers myset3
1) "two"
2) "four"
3) "five"
127.0.0.1:6379> srandmember myset3
"five"
127.0.0.1:6379> srandmember myset3
"five"
127.0.0.1:6379> srandmember myset3
"four"
127.0.0.1:6379> srandmember myset3
"five"
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值