Redis集合操作命令

有序集合
  • redis的有序集合与集合一样也是String类型元素的集合,不允许有重复的元素
  • 每一个元素都会关联一个double类型的分数,redis正是通过分数来为集合中的成员进行重大到小的排序
  • 有序集合中的成员是唯一的,但是分数可以重复
  • 集合是通过哈希表实现的,集合中的最大元素是2的32次方减1。Zset是有序且不重复的
  1. 赋值
127.0.0.1:6379> zadd z1 1 html 23 css 25 js 
(integer) 3

向有序集合中添加一个或多个成员,或者更新已经存在的成员的分时
2. 取值

2.1 获取有序集合的成员数量

127.0.0.1:6379> zcard z1
(integer) 3

2.2 计算有序集合中指定区间分数的成员数

127.0.0.1:6379> zcount z1 1 23
(integer) 2

2.3 返回有序集合指定成员的索引

127.0.0.1:6379> zrange z1 0 -1
1) "html"
2) "css"
3) "js"
127.0.0.1:6379> zrank z1 js
(integer) 2
127.0.0.1:6379> zrank z1 html
(integer) 0

2.4 通过索引区间返回有序集合指定区间内的成员

127.0.0.1:6379> zrange z1 0 -1
1) "html"
2) "css"
3) "js"
127.0.0.1:6379> zrange z1 0 1
1) "html"
2) "css"
127.0.0.1:6379> zrevrange z1 0 -1
1) "js"
2) "css"
3) "html"
127.0.0.1:6379> zrange z1 0 -1
1) "html"
2) "css"
3) "js"
127.0.0.1:6379> 

zrevrange是通过索引,分数从高到低排列
2.5 通过分数返回有序集合指定区间的成员

127.0.0.1:6379> zrangebyscore z1 0 23
1) "html"
2) "css"
127.0.0.1:6379> zrevrangebyscore z1 23 0
1) "css"
2) "html"
127.0.0.1:6379> zrangebyscore z1 0 23
1) "html"
2) "css"

2.6 返回索引

127.0.0.1:6379> zrank z1 css
(integer) 1
  1. 删除

3.1 移除集合

127.0.0.1:6379> del z1
(integer) 1
127.0.0.1:6379> zrange z1 0 -1
(empty list or set)

3.2 移除集合中的一个或多个成员

127.0.0.1:6379> zadd z1 1 html 23 css 25 js 
(integer) 3
127.0.0.1:6379> zrange z1 0 -1
1) "html"
2) "css"
3) "js"
127.0.0.1:6379> zrem z1 html css
(integer) 2
127.0.0.1:6379> zrange z1 0 -1
1) "js"

3.3 移除有序集合中给定的排名区间的所有成员

127.0.0.1:6379>  zadd z1 1 html 23 css 25 js 
(integer) 3127.0.0.1:6379> zremrangebyrank z1 0 1
(integer) 2
127.0.0.1:6379> zrange z1 0 -1
1) "js"

3.4 根据分数区间删除

127.0.0.1:6379> zrange z1 0 -1
1) "html"
2) "css"
3) "js"
127.0.0.1:6379> zremrangebyscore z1 1 23
(integer) 2
127.0.0.1:6379> zrange z1 0 -1
1) "js"
  1. 增加分数
    增加元素的分组,返回值是更改后的分数
127.0.0.1:6379> zrange z1 0 -1
1) "html"
2) "css"
3) "js"
127.0.0.1:6379> zincrby z1 100 html
"101"
127.0.0.1:6379> zrange z1 0 -1
1) "css"
2) "js"
3) "html"
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值