redis面试
文章平均质量分 95
redis面试
路从脚起
这个作者很懒,什么都没留下…
展开
-
精尽 Redisson 源码分析 —— 限流器 RateLimiter
限流,无论在系统层面,还是在业务层面,使用都非常广泛。【业务】为了避免恶意的灌水机或者用户,限制每分钟至允许回复 10 个帖子。【系统】为了避免服务系统被大规模调用,超过极限,限制每个调用方只允许每秒调用 100 次。限流算法,常用的分成四种:每一种的概念,推荐看看《计数器、滑动窗口、漏桶、令牌算法比较和伪代码实现》文章。计数器比较简单,每固定单位一个计数器即可实现。滑动窗口Redisson 提供的是基于滑动窗口RateLimiter 的实现。相比计数器。原创 2023-03-14 11:03:57 · 2054 阅读 · 1 评论 -
精尽 Redisson 源码分析 —— 可重入分布式锁 ReentrantLock
在 Redisson 中,提供了 8 种分布锁的实现,具体我们可以在《Redisson 文档 —— 分布式锁和同步器》中看到。绝大数情况下,我们使用可重入锁(Reentrant Lock)就够了,对应到就是类,具体的使用示例可以看看《芋道 Spring Boot Redis 入门》的「6.2 Redis 分布式锁」小节。在《精尽 Redis 面试题》的问题中,我们在聊到“如何使用 Redis 实现分布式锁?这个题目中,提到了需要考虑的 7 个方面,这里我们再来重复看下:1、正确的获得锁。原创 2023-03-14 11:11:59 · 470 阅读 · 1 评论 -
精尽 Redisson 源码分析 —— 可靠分布式锁 RedLock
1、客户端 A 从 Redis Master 获得到锁anylock。2、在 Redis Master 同步anylock到 Redis Slave 之前,Master 挂了。3、Redis Slave 晋升为新的4、客户端 B 从新的Redis Master 获得到锁anylock。此时,客户端 A 和 B 同时持有anylock锁,已经失效。当然,这个情况是极小概率事件。主要看业务对分布式锁可靠性的诉求。原创 2023-03-14 13:01:39 · 366 阅读 · 0 评论