本文共 858 字,大约阅读时间需要 2 分钟。
平凡也就两个字: 懒和惰;
成功也就两个字: 苦和勤; 优秀也就两个字: 你和我。 跟着我从0学习JAVA、spring全家桶和linux运维等知识,带你从懵懂少年走向人生巅峰,迎娶白富美! 关注微信公众号【 IT特靠谱 】,每一篇文章都是心得总结,跟我学习你就是大牛!
温馨提示:
(1)redis锁不仅适用于单机服务,也适用于集群分布式系统的并发控制。同zookeeper分布式锁。
(2)生产环境中一般用redission框架来实现redis分布式锁(redission功能很强大),而基本上不会用redis client客户端方式来实现redis分布式锁。但是本文为了能让基础薄弱的同学深入理解redis分布式锁的原理,因此通过redis client来实现分布式锁。
需要用到操作redis的客户端工具jedis,因此引入以下jar包
redis.clients jedis 2.9.0
定义redis锁类:RedisLock.java
测试方法:main()
前面几章节介绍了实现并发控制的集中方式,因此小结一下:
(1)单实例服务的并发控制只能通过synchronized和ReentrantLock同步锁或乐观锁来实现;数据库层面的乐观锁一般通过version版本来实现,内存变量层面的乐观锁一般通过CAS方式来实现;
(2)redis和zookeeper分布式锁使用于分布式系统(集群)的并发控制;
(3)redis的分布式锁的效率要高于zookeeper的分布式锁,因为redis是内存数据库,速度更快。
下一章节将详细介绍redission框架! 请输入【IT特靠谱】或扫描下面微信公众号关注后查看~
转载地址:http://aupgf.baihongyu.com/