首页 > 编程知识 正文

redis如何实现分布式锁,redis的分布式锁实现原理

时间:2023-05-04 05:40:48 阅读:33410 作者:4942

硅谷bilibili官方视频教程: bilibili.com/video/b v1rv 41177 af? p=43

随着问题描述业务的发展需要,原单机引入的系统演化为分布式集群系统后,分布式系统分散在多线程、多进程和不同的机器上,使得原单机引入的并发控制锁定策略失效,成为简单的jjj 要解决此问题,需要JVM之间的互斥机制来控制对共享资源的访问。 这就是分布式锁定需要解决的问题。

分布式锁定主流实现方案:

数据库的分布式锁是基于缓存的(例如Redis )基于Zookeeper的

分布式锁定解决方案各有优缺点。 性能: redis最高可靠性: zookeeper最高

在此,我们基于redis实现分布式锁定。 实现redis分布式锁定setnx命令setnx命令设置锁定,设置锁定后,必须使用del命令解除锁定

使用上述方式的话,必须每次手动解除锁定。 我们可以在expire上设定这个锁的有效期。 没有必要每次手动解除锁定。

但是,这样不能保证操作的原子操作。 如果此服务器在安装锁定后未设置过期日期,但突然关闭,则此锁定将保持锁定状态且不会释放。 我们在锁定时同时设定锁定的有效期可以保证操作的原子性。

版权声明:该文观点仅代表作者本人。处理文章:请发送邮件至 三1五14八八95#扣扣.com 举报,一经查实,本站将立刻删除。