0 Github
<https://yq.aliyun.com/go/articleRenderRedirect?url=https%3A%2F%2Fgithub.com%2FWasabi1234>

1 面试题

一般实现分布式锁都有哪些方式?使用redis如何设计分布式锁?使用zk来设计分布式锁可以吗?这两种分布式锁的实现方式哪种效率比较高?

2 考点分析

一般先问问你zk,然后过渡到zk关联的一些问题,比如分布式锁.

因为在分布式系统开发中,分布式锁的使用场景还是很常见的~

3 Redis分布式锁

官方叫做RedLock算法,是Redis官方支持的分布式锁算法.

这个分布式锁有3个重要的考量点

* 互斥(只能有一个客户端获取锁)
* 不能死锁
* 容错(大部分Redis节点或者这个锁就可以加可以释放)
3.1 最普通的实现方式

创建一个key
SET my:lock 随机值 NX PX 30000
* NX : 只有key不存在的时候才会设置成功
* PX 30000 : 30秒后锁自动释放。别人创建的时候如果发现已经有了就不能加锁了.
释放锁就是删除key

友情链接
KaDraw流程图
API参考文档
OK工具箱
云服务器优惠
阿里云优惠券
腾讯云优惠券
华为云优惠券
站点信息
问题反馈
邮箱:ixiaoyang8@qq.com
QQ群:637538335
关注微信