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