栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > Java

Redis分布式锁浅析

Java 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

Redis分布式锁浅析

redis有一个命令: set key value nx;
该命令的用处是,只有当redis中不含key时,才能set成功。
基于以上原理,可以设计分布式锁。
分布式锁可用于防止redis缓存击穿,也可解决幂等性问题。

分布式锁设计思路:
分布式锁会设置一个过期时间,以防止在解锁前服务器突然宕机,导致死锁。因此加锁和设计过期时间得设计成原子性操作。
分布式锁解锁的过程,也存在问题。若业务超时,锁已过期,而业务完成之后默认会删除锁,而此时的锁已经是别人的锁了,导致误删。为了解决这一问题,可将key设置为指定值,删锁时先查询该锁是否存在,存在的话再执行删锁操作。
但是, 如果查锁和删锁之间锁过期,同样会导致误删。因此查锁和删锁也要采用原子操作。

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/631229.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号