http://gimg2.baidu.com/image_search/src=http%3A%2F%2Fc-ssl.duitang.com%2Fuploads%2Fitem%2F202005%2F08%2F20200508102713_L8aCB.jpeg&refer=http%3A%2F%2Fc-ssl.duitang.com&app=2002&size=f9999,10000&q=a80&n=0&g=0n&fmt=jpeg?sec=1649077062&t=40b7b14053ef546a57de4934b9442cbe",
摘要: 1、为什么要使用分布式锁?   如下图所示,成员变量A存在JVM1、JVM2、JVM3三个JVM内存中。由于成员变量A同时都会在三个JVM上分配一块内存: + 若三个请求同时对这个变量操作时,显然结果是不对的; + 若三个请求依次分别请求三个不同的JVM内存区域的数据时,由于各JVM之间的 阅读全文
posted @ 2019-06-23 20:00 DeepInThought 阅读(289) 评论(0) 推荐(0) 编辑
摘要: 布式锁实现的三个核心要素:加锁、解锁、锁超时。 一、Redis实现分布式锁基本原理 1.1、Redis具体实现 情景:存在多台JVM需要同时对某一商品(id)进行操作。 + 加锁:使用setnx命令,伪代码:setnx(id,value)   返回1,说明key不存在,线程抢锁成 阅读全文
posted @ 2019-06-23 17:21 DeepInThought 阅读(2337) 评论(0) 推荐(0) 编辑