redis实现简单排行榜
2018-09-10 13:51
447 查看
我们打开redis,使用 select 0 切换到0号数据库,使用 如下语句添加到有序集合中:
<code class="language-plain">zadd leaderboard 10000 1</code>
zadd leaderboard 10000 1
[code]zadd leaderboard 10001 2
zadd leaderboard 10003 3
第一条数据为创建一个有序集合,键为1,值为10000,类似一个用户名为1,游戏积分为10000。这样我们输入三条测试数据,模拟实时积分量,然后就可以来对此时的积分进行排序。
[code]zrange leaderboard 0 100
这个语句对leaderboard有序集合进行排序,注意这里的排序是升序排列,也就是积 积分低的排在前面,所以我们更常用的语句是降序语句,如下:
[code]zrevrange leaderboard 0 100
但是这样一个只是排序的排行榜功能并不完善,假如一个游戏有好多人玩,那么积分的变动会变的很快,所以我们还要对用户积分可以进行变更。
我们将用户1的积分改为100011,则执行以下语句。
[code]zadd leaderboard 100011 1
然后我们再进行排序就可以看到排名发生了变化,如果我们要看到不仅仅是排名,还有有积分,那就执行下列语句:
[code]zrevrange leaderboard 0 100 withscores
这样我们就可以看到类似排行榜的信息。具体执行如下图:
阅读更多
相关文章推荐
- redis 哈希数据类型简单操作(实现购物车案例)
- Redis实现简单消息队列
- Redis(ZADD)使用Java API实现简单排名
- 初学Redis(4)——简单实现Redis缓存中的排序功能
- Python使用Redis实现作业调度系统(超简单)
- 初学Redis(3)——简单实现Redis缓存中的排序功能
- Redis源码阅读笔记(1)——简单动态字符串sds实现原理
- Redis:实现简单的分布式爬虫
- 在多台服务器上简单实现Redis的数据主从复制
- 想知道谁是你的最佳用户?基于Redis实现排行榜周期榜与最近N期榜
- 在多台服务器上简单实现Redis的数据主从复制
- jedis 实现redis列表数据简单分页
- Redis的master/slave简单实现
- 【NoSql】Redis实践篇-简单demo实现(一)
- redis锁类型及简单实现
- session 保存到 redis 简单实现
- 基于服务器端缓存redis的简单实现
- 使用 Redis 实现排行榜功能 (转载 https://segmentfault.com/a/1190000002694239)
- 用redis来实现Session保存的一个简单Demo
- 使用Redis List简单实现抢红包