1、Redis是否可以实现分布式锁?
思路:Redis一般使用setnx方法,通过Redis实现锁和超时时间来控制锁的失效时间。当主节点挂掉,极端情况下,当Redis主节点挂掉,但锁还没有同步到从节点,根据哨兵机制,从节点被选举为主节点,继续提供服务,其他线程就会请求锁,出现两个线程同时拿到锁的情况。
理论:Redis的设计模型是AP模型,分布式锁是一个CP场景,故而将Redis这种AP模型的架构应用于CP场景,在底层的技术选型上就是错误的。
posted on 2023-10-17 10:22 木乃伊人 阅读(18) 评论(0) 收藏 举报
博客园 © 2004-2025 浙公网安备 33010602011771号 浙ICP备2021040463号-3