Redis set集合基本操作(包含Zset)

Redis set基本操作

set中的值不可以重复

sadd:插入

smembers:查看所有值

sismember:判断是否在集合里

scard:查询set集合中元素的个数

127.0.0.1:6379> sadd set "hello"
(integer) 1
127.0.0.1:6379> sadd set "hello1"
(integer) 1
127.0.0.1:6379> smembers set
1) "hello1"
2) "hello"
127.0.0.1:6379> sismember set hello
(integer) 1
127.0.0.1:6379> sismember set hello2
(integer) 0
127.0.0.1:6379> scard set
(integer) 2

srem:移除指定元素

127.0.0.1:6379> srem set hello1
(integer) 1
127.0.0.1:6379> smembers set
1) "hello"

set是无序不重复集合,可以抽随机

srandmember:抽随机

127.0.0.1:6379> smembers set
1) "3"
2) "1"
3) "2"
4) "hello"
127.0.0.1:6379> srandmember set
"2"
127.0.0.1:6379> srandmember set				#随机抽一个
"hello"
127.0.0.1:6379> srandmember set 2          #随机抽两个
1) "1"
2) "hello"
127.0.0.1:6379> srandmember set 2
1) "3"
2) "1"

spop:随机删除

127.0.0.1:6379> smembers set
1) "3"
2) "1"
3) "2"
4) "hello"
127.0.0.1:6379> spop set		#随机删除一个元素
"3"
127.0.0.1:6379> spop set
"2"
127.0.0.1:6379> smembers set
1) "1"
2) "hello"

smove:将一个指定的值移入到另一个set集合

127.0.0.1:6379> sadd set "1"
(integer) 1
127.0.0.1:6379> sadd set "2"
(integer) 1
127.0.0.1:6379> sadd set1 "3"
(integer) 1
127.0.0.1:6379> sadd set1 "4"
(integer) 1
127.0.0.1:6379> smove set set1 1
(integer) 1
127.0.0.1:6379> smembers set1
1) "1"
2) "3"
3) "4"

数字集合类:

  • 差集
  • 交集
  • 并集
127.0.0.1:6379> smembers key1
1) "a"
2) "b"
3) "c"
127.0.0.1:6379> smembers key2
1) "d"
2) "e"
3) "c"
127.0.0.1:6379> sdiff key1 key2				#差集
1) "a"
2) "b"
127.0.0.1:6379> sinter key1 key2			#交集 
1) "c"
127.0.0.1:6379> sunion key1 key2			#并集
1) "b"
2) "c"
3) "d"
4) "a"
5) "e"

比如微博,用户可以将关注的人放在一个set集合中,将他的粉丝也放入一个集合中。可以实现共同关注的功能

Redis Zset基本操作

在set的基础上,增加了一个值(排序,分组)

zadd:增加值

zrange:查找

127.0.0.1:6379> zadd myset 1 one
(integer) 1
127.0.0.1:6379> zadd myset 2 two 3 three
(integer) 2
127.0.0.1:6379> zrange myset 0 -1
1) "one"
2) "two"
3) "three"

排序:

127.0.0.1:6379> zadd age 17 xiaoming
(integer) 1
127.0.0.1:6379> zadd age 20 xiaohong
(integer) 1
127.0.0.1:6379> zadd age 16 mike
(integer) 1
127.0.0.1:6379> zrangebyscore age -inf +inf  			#按从小到大排序显示全部
1) "mike"
2) "xiaoming"
3) "xiaohong"
127.0.0.1:6379> zrevrange age 0 -1						#从大到小排序
1) "xiaohong"
2) "xiaoming"
3) "mike"
127.0.0.1:6379>  zrangebyscore age -inf +inf withscores		#从小到大显示全部
1) "mike"
2) "16"
3) "xiaoming"
4) "17"
5) "xiaohong"
6) "20"
127.0.0.1:6379> zrangebyscore age -inf 18 withscores	#显示小于18的用户
1) "mike"
2) "16"
3) "xiaoming"
4) "17"

zrem:移除

127.0.0.1:6379> zrange age 0 -1
1) "mike"
2) "xiaoming"
3) "xiaohong"
127.0.0.1:6379> zrem age mike
(integer) 1
127.0.0.1:6379> zrange age 0 -1
1) "xiaoming"
2) "xiaohong"
127.0.0.1:6379> zcard age            	#获取集合中的个数
(integer) 2

zcount:获取指定区间的数量

127.0.0.1:6379> zcount myset 1 3
(integer) 3
127.0.0.1:6379> zcount myset 1 2
(integer) 2
  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

String_name_null

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值