摘要:
1、为什么要使用分布式锁? 如下图所示,成员变量A存在JVM1、JVM2、JVM3三个JVM内存中。由于成员变量A同时都会在三个JVM上分配一块内存: + 若三个请求同时对这个变量操作时,显然结果是不对的; + 若三个请求依次分别请求三个不同的JVM内存区域的数据时,由于各JVM之间的 阅读全文
摘要:
布式锁实现的三个核心要素:加锁、解锁、锁超时。 一、Redis实现分布式锁基本原理 1.1、Redis具体实现 情景:存在多台JVM需要同时对某一商品(id)进行操作。 + 加锁:使用setnx命令,伪代码:setnx(id,value) 返回1,说明key不存在,线程抢锁成 阅读全文