【并发控制】并发控制与分布式锁(redis/zookeeper)实现【图文教程】_ 第4章

平凡也就两个字: 懒和惰;
成功也就两个字: 苦和勤;
优秀也就两个字: 你和我。
跟着我从0学习JAVA、spring全家桶和linux运维等知识,带你从懵懂少年走向人生巅峰,迎娶白富美!
关注微信公众号【 IT特靠谱 】,每一篇文章都是心得总结,跟我学习你就是大牛!

并发控制与分布式锁(redis/zookeeper)实现【图文教程】_第4章

---redis分布式锁实现并发控制

温馨提示:

      (1)redis锁不仅适用于单机服务,也适用于集群分布式系统的并发控制。同zookeeper分布式锁。

      (2)生产环境中一般用redission框架来实现redis分布式锁(redission功能很强大),而基本上不会用redis client客户端方式来实现redis分布式锁。但是本文为了能让基础薄弱的同学深入理解redis分布式锁的原理,因此通过redis client来实现分布式锁。

1. 引入jar包

      需要用到操作redis的客户端工具jedis,因此引入以下jar包

<!-- jedis:redis的客户端 -->
<dependency>
    <groupId>redis.clients</groupId>
    <artifactId>jedis</artifactId>
    <version>2.9.0</version>
</dependency>

2 实现redis分布式锁

      定义redis锁类:RedisLock.java

      测试方法:main()

3 总结

      前面几章节介绍了实现并发控制的集中方式,因此小结一下:

(1)单实例服务的并发控制只能通过synchronized和ReentrantLock同步锁或乐观锁来实现;数据库层面的乐观锁一般通过version版本来实现,内存变量层面的乐观锁一般通过CAS方式来实现

(2)redis和zookeeper分布式锁使用于分布式系统(集群)的并发控制;

(3)redis的分布式锁的效率要高于zookeeper的分布式锁,因为redis是内存数据库,速度更快。

      下一章节将详细介绍redission框架!  请输入【IT特靠谱】或扫描下面微信公众号关注后查看~

猜你喜欢

转载自blog.csdn.net/IT_Most/article/details/108738151