Redis上一章教程请查看:redis列表和集合使用详解
这一章中我们讨论redis的有续集sorted set和HyperLogLog结构的使用。
一、redis有序集sorted
set类型的使用Redis有序集其惟一的特点是值存储在一个集合中,不同之处在于一个有序集的每个成员都与一个分数相关联,这个分数用于有序集的排序,从最小的分数到最大的分数。
在Redis有序集中使用O(1)添加、删除和测试成员的存在性(不管集合中包含多少元素,时间都是常数),列表的最大长度是2^32 –
1个元素(超过40亿)。
redis db> ZADD dbs 1 redis
(integer) 1
redis db> ZADD dbs 2 mongodb
(integer) 1
redis db> ZADD dbs 3 mysql
(integer) 1
redis db> ZADD dbs 3 mysql
(integer) 0
redis db> ZADD dbs 4 mysql
(integer) 0
redis db> ZRANGE dbs 0 10 WITHSCORES
1) "redis"
2) "1"
3) "mongodb"
4) "2"
5) "mysql"
6) "4"
Redis有序集sorted set的所有命令
编号 | 命令 & 简述 |
1 | ZADD key score1 member1 [score2 member2] 向有序集添加一个或多个成员或更新其分数(如果它已经存在) |
2 | ZCARD key 获取有序集合中的成员数 |
3 | ZCOUNT key min max 用给定值内的分数对有序集合中的成员进行计数 |
4 | ZINCRBY key increment member 增加有集合中成员的得分 |
5 | ZINTERSTORE destination numkeys key 交叉多个有序集并将得到的有序集存储在一个新键中 |
6 | ZLEXCOUNT key min max 计算给定范围内有序集中的成员数 |
7 | ZRANGE key start stop [WITHSCORES] 按索引返回有序集合中的成员范围 |
8 | ZRANGEBYLEX key min max [LIMIT offset count] 按字典范围返回有序集合中的成员范围 |
9 | ZRANGEBYSCORE key min max [WITHSCORES] [LIMIT] 按分数返回有序集合中的成员范围 |
10 | ZRANK key member 确定有序集合中成员的索引 |
11 | ZREM key member [member … ] 从有序集中删除一个或多个成员 |
12 | ZREMRANGEBYLEX key min max 删除给定词典范围内有序集中的所有成员 |
13 | ZREMRANGEBYRANK key start stop 删除给定索引中有序集中的所有成员 |
14 | ZREMRANGEBYSCORE key min max 删除给定分数内有序集合中的所有成员 |
15 | ZREVRANGE key start stop [WITHSCORES] 按索引返回有序集合中成员的范围,得分从高到低排序 |
16 | ZREVRANGEBYSCORE key max min [WITHSCORES] 按分数返回有序集合中成员的范围,分数从高到低排序 |
17 | ZREVRANK key member 确定有序集合中成员的索引,得分从高到低排序 |
18 | ZSCORE key member 获取有序集中与给定成员关联的分数 |
19 | ZUNIONSTORE destination numkeys key 添加多个有序集,并将得到的有序集存储在新键中 |
20 | ZSCAN key cursor [MATCH pattern] [COUNT count] 递增地迭代有序集元素和相关的分数 |
【redis有序集sorted set类型和HyperLogLog结构操作使用介绍】HyperLogLog提供了一个非常好的集合基数近似值,即使使用非常小的内存,每个键大约12千字节,标准错误为0.81%,除了接近2^64个项目外可以计数的项目数量没有限制。
redis > PFADD dbs "redis"
1) (integer) 1
redis > PFADD dbs "mongodb"
1) (integer) 1
redis > PFADD dbs "mysql"
1) (integer) 1
redis > PFCOUNT dbs
(integer) 3
Redis HyperLogLog结构的所有命令
编号 | 命令 & 简述 |
1 | PFADD key element 将指定的元素添加到指定的HyperLogLog。 |
2 | PFCOUNT key 返回key处的近似基数。 |
3 | PFMERGE destkey sourcekey 将N个不同的HyperLogLogs合并为一个。 |
推荐阅读
- 深入redis(发布订阅的使用和事务操作介绍)
- redis列表list类型和集合set类型使用详解
- redis字符串string类型和散列hash类型操作使用详解
- redis命令和关键字命令介绍
- redis深入教程(配置redis、redis所有数据类型详解)
- redis入门介绍以及在windows和linux上安装redis
- 构建自定义模块 — Quill富文本编辑器快速入门中文文档
- 将Quill添加到项目构建管道中 — Quill富文本编辑器快速入门中文文档
- 如何自定义或定制Quill( — Quill富文本编辑器快速入门中文文档)