我是靠谱客的博主 疯狂皮皮虾,这篇文章主要介绍用redis实现“排行榜”、“计数器”、“限速器”,现在分享给大家,希望可以做个参考。

1、排行榜

话不多说直接上代码

复制代码
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
输入: ZINCRBY rank 1 aaa ZINCRBY rank 2 bbb ZINCRBY rank 3 ccc ZINCRBY rank 4 ddd ZINCRBY rank 5 eee ZREVRANGE rank 0 4 withscores 输出: 1) "eee" 2) "5" 3) "ddd" 4) "4" 5) "ccc" 6) "3" 7) "bbb" 8) "2" 9) "aaa" 10) "1"

2.计数器

使用思路是:每次有相关操作的时候,就向Redis服务器发送一个incr命令。

注:incr命令是原子性的

3.限速器

限速器是一种可以限制某些操作执行速率的特殊场景。

假设我们要解决如下问题:限制某个api每秒每个ip的请求次数不超过10次。

实现方案:

​ 第一步:设置一个key,然后给个过期时间1秒

​ 第二部:一个ip访问时给这个key执行incr命令

​ 第三部:给个分支判断

最后

以上就是疯狂皮皮虾最近收集整理的关于用redis实现“排行榜”、“计数器”、“限速器”的全部内容,更多相关用redis实现“排行榜”、“计数器”、“限速器”内容请搜索靠谱客的其他文章。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(86)

评论列表共有 0 条评论

立即
投稿
返回
顶部