当我们实际使用redis手写实现分布式锁时,会产生不可重入、不可重试、超时释放和主从一致的问题,此时redission为我们提供的锁完美达成以上要求,适合我们生产时使用。
Redisson的实际使用
当redisson依赖爆红时,说明引入的版本有可能是不对的。这个时候就要去maven仓库中去寻找
于是更换为稳定版本
重新导入maven坐标然后reload maven即可
首先要清楚redisson是redis的客户端,所以我们要使用redisson,必须要让他知道他所操纵的redis的地址和密码。
这一切应该在服务启动时就已经完成,所以我们应该单独写一个Ression的配置类,然后添加上@Configuration的注解,这样我们不需要在实例化Redisson对象后才配置,而是我们直接导入那个配置好了的RedissonClient即可。
而想要实现注入,就必须将我们创建好的RedissonClient对象注册成为Bean对象才行,所以我们要在RedissonConfig中创建一个方法,方法名可以为任意(不过规范是创建的类的名称小驼峰表示,比如RedissonClient的方法名就是redissonClient)。然后在方法中创建对象配置好后返回。并在这个方法上添加@Bean注解。
最终这个对象就会在初始化时被注册为Bean,然后我们其他地方便可以直接注入使用。
3.1 记录创建Redisson客户端时遇到的问题
本来我根据debug信息以为是Bean的注册出了问题,但是其实是没有看到最后,其实是redisson对象创建时,没有连接到redis数据库,原因是因为我们数据库地址写错了。
此次debug的成功依赖Ai,提示我们可以借助ai工具进行debug,但是也要提升自己通过debug日志进行debug的能力。