redis中zset怎么使用


本文摘自PHP中文网,作者(*-*)浩,侵删。

Redis中zset是set的一个升级版本,他在set的基础上增加了一个顺序属性,这一属性在添加修改元素的时候可以指定,每次指定后,zset会自动重新按新的值调整顺序。可以理解了有两列的mysql表,一列存value,一列存顺序。操作中key理解为zset的名字。

使用有序集合(zset),你可以非常快地(O(log(N)))完成添加,删除和更新元素的操作。 因为元素是在插入时就排好序的,所以很快地通过评分(score)或者 位次(position)获得一个范围的元素。 访问有序集合的中间元素同样也是非常快的,因此你可以使用有序集合作为一个没用重复成员的智能列表。 在这个列表中, 你可以轻易地访问任何你需要的东西: 有序的元素,快速的存在性测试,快速访问集合中间元素!(推荐学习:Redis视频教程)

简而言之,使用有序集合你可以很好地完成 很多在其他数据库中难以实现的任务。

at first,我们先添加一下数据:

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

> zadd member_list 10 a 3 b 1 c 4 d 7 e

(integer) 5

#返回5,即成功加了5个进入集合。现在试试添加重复的元素

> zadd member_list 9 a 8 f

(integer) 1

#这个步骤,返回了1,而不是2,是因为a这个元素已经存在于集合当中了,不会添加成功。

> zrange member_list 0 6 WITHSCORES

1) "c"

2) 1.0

3) "b"

4) 3.0

5) "d"

6) 4.0

7) "e"

8) 7.0

9) "f"

10) 8.0

11) "a"

12) 9.0

可以看到,有序集合排序的规则是根据分母的大小,分母越小排在集合的前面

可以用于一个大型在线游戏的积分排行榜。每当玩家的分数发生变化时,可以执行ZADD命令更新玩家的分数,此后再通过ZRANGE命令获取积分TOP TEN的用户信息。当然我们也可以利用ZRANK命令通过username来获取玩家的排行信息。最后我们将组合使用ZRANGE和ZRANK命令快速的获取和某个玩家积分相近的其他用户的信息。
Sorted-Sets类型还可用于构建索引数据。

更多Redis相关技术文章,请访问Redis数据库使用入门教程栏目进行学习!

以上就是redis中zset怎么使用的详细内容,更多文章请关注木庄网络博客

相关阅读 >>

Redis添加systemctl服务的具体步骤

Redis属于数据库吗

Redis键过期设置

centos7.6安装mysql和Redis的教程

Redis报错windows error 0x70的解决方法

Redis和memcached的优缺点及区别介绍

更换Redis 是否需要 重启

php Redis批量删除key的方法

Redis实现批量删除的命令介绍

详解Redis中5种数据结构的使用场景

更多相关阅读请进入《Redis》频道 >>


数据库系统概念 第6版
书籍

数据库系统概念 第6版

机械工业出版社

本书主要讲述了数据模型、基于对象的数据库和XML、数据存储和查询、事务管理、体系结构等方面的内容。



打赏

取消

感谢您的支持,我会继续努力的!

扫码支持
扫码打赏,您说多少就多少

打开支付宝扫一扫,即可进行扫码打赏哦

分享从这里开始,精彩与您同在

评论

管理员已关闭评论功能...