redisson存储对象
SpringBoot整合Redisson
Redisson从Redis工具java.util.concurrent.locks.Lock接口分发可重入锁RLock对象。
大家都知道,如果负责分布式存储的Redisson节点下去这个存储,恰好关闭了锁,那么锁就会被关闭。
为了避免这种情况,Redisson提供了内部锁防护。
默认情况下,看门狗锁定30秒,也可以通过修改Config.lockWatchdogTimeout单独指定。
在RedissonLock类的updated方法中,调度器已经开始每隔30/3=10秒更新一次锁。
如果应用程序依赖于事务的执行,则不会自动更新。
另外,Redisson还提供了一个租用时间参数来定义租用期限。
过了这个时间后,锁就会自动解锁。
如果指定了锁定时间,则底层直接调用Luam脚本来捕获锁定。
如果超过租赁期限,并且逻辑任务没有执行,则立即支付延迟费用。
RedissonLock类的TryLockInnerAsync()方法
可重入读写分布式锁允许多个读锁和一个写锁同时加锁。
读写锁中的写、读共享、写互斥、写互斥。
读写,测试型锁,当访问写接口时,该接口会被阻塞。
Redisson分布式信号量用法与java.util.concurrent.Semaphore类似
现在信号量值存储在redis3中
然后在TestCon模式测试到troller:
访问Semaphore接口时,信号量会减为1;当信号量返回0时,继续访问该信号量将被阻塞在接口上。
CountDownLatch函数:一个线程等待另一个线程完成执行后再继续执行。
在TestController中添加测试方法。
访问关闭接口时,等待method()进入阻塞状态。
【进阶篇】Redis实战之Redisson使用技巧详解
【进阶】Redis实战中Redis使用技巧详解
Redisson作为基于Redis的Java数据网格客户端,提供了超越Jedis、Lettuce等基本封装的功能。
是Redis的基本数据结构操作如字符串、哈希值,列表套不仅是有序集和布隆过滤器,还有分布式键,它还扩展了分布式服务,例如远程服务和作业调度。
有关使用Redisson的详细信息,请阅读其GitHub文档。
要开始使用Redisson,首先将其依赖项添加到Maven项目后;根据不同场景创建RedissonClient实例,例如私有环境中的简单配置。
其他,我们一步一步探索Redisson的特性:
和有序集。
需要实现类似的接口Redisso。
n的RBloomFilter查询效率高,但存在误识别风险分布式自增ID和全局唯一ID生成Bloom过滤器解决了分库分表后的问题。
环境中的RedissonRedLock
集群环境中的Redisson支持哨兵模式和主从模式配置。
相比Jedis和Lettuce,Redisson不仅提供了基本的功能,而且与Lettuce结合构建了分布式解决方案,可以更充分地满足需求。
在真实的生产环境中,在复杂的情况下,RedissonRedLock建议使用简单的一因素解决方案来解决分布式锁定问题。
想了解更深入的内容,您可以参考Redisson开发文档、作者的文章分享等相关文章。