Castle

我的沉思、笔记和回忆

Redis 分布式锁的使用

技术Redis

今天阅读了 Redis 的分布式锁相关部分,在这里做一下笔记。

Redis 的分布式锁主要依赖于 Watch 命令。

Watch 命令的语法为

watch key

当进入 watch 状态后,修改该 key 时会去检查 key 在执行过程中是否已经被修改。如果已经被修改,则命令会执行失败。

如

set amount 1000

watch amount
multi
decr amount
exec

在 watch amount 后如果有别人已经修改了 amount 值,那么之后的事务将会失败。这样就实现了简单的乐观锁。

watch 执行之后可以执行 unwatch操作来取消观察状态。例如 watch 之后去判断库存数量,如果已经是 0,可以取消观察并直接向用户返回库存消耗完毕。

创建于2018年05月27日 22:13
阅读量 581
留言列表

暂时没有留言

添加留言