企业网站建设平台,企业网站后台管理系统模板,企业logo设计要素,网站设计成手机#x1f9d1;#x1f4bb;作者名称#xff1a;DaenCode #x1f3a4;作者简介#xff1a;啥技术都喜欢捣鼓捣鼓#xff0c;喜欢分享技术、经验、生活。 #x1f60e;人生感悟#xff1a;尝尽人生百味#xff0c;方知世间冷暖。 #x1f4d6;所属专栏#xff1a;Sp… 作者名称DaenCode 作者简介啥技术都喜欢捣鼓捣鼓喜欢分享技术、经验、生活。 人生感悟尝尽人生百味方知世间冷暖。 所属专栏SpringBoot实战 系列文章目录
以下是专栏部分内容更多内容请前往专栏查看
标题一文带你学会使用SpringBootAvue实现短信通知功能(含重要文件代码)一张思维导图带你学会Springboot创建全局异常、自定义异常一张思维导图带你打通SpringBoot自定义拦截器的思路28个SpringBoot项目中常用注解日常开发、求职面试不再懵圈一张思维导图带你学会SpringBoot、Vue前后端分离项目线上部署一张流程图带你学会SpringBoot结合JWT实现登录功能一张思维导图带你学会使用SpringBoot中的Schedule定时发送邮件一张思维导图带你学会使用SpringBoot异步任务实现下单校验库存一张思维导图带你学会SpringBoot使用AOP实现日志管理功能 专栏推荐
专门为Redis入门打造的专栏包含Redis基础知识、基础命令、五大数据类型实战场景、key删除策略、内存淘汰机制、持久化机制、哨兵模式、主从复制、分布式锁等等内容。链接《Redis从头学》专门为RabbitMQ入门打造的专栏持续更新中。。。。。。。。链接《图解RabbitMQ》 文章目录 系列文章目录专栏推荐引入依赖配置文件Redisson配置类使用注意事项写在最后 Redisson官方中文文档https://github.com/redisson/redisson/wiki/%E7%9B%AE%E5%BD%95 引入依赖
dependencygroupIdorg.redisson/groupIdartifactIdredisson/artifactIdversion3.10.1/version
/dependency配置文件
spring:redis:host: ippassword: 密码port: 端口号Redisson配置类
Data
Configuration
public class RedissonConfig {Value(${spring.redis.host})private String redisHost;Value(${spring.redis.port})private String redisPort;Value(${spring.redis.password})private String redisPassword;Beanpublic RedissonClient redissonClient(){//创建配置Config confignew Config();config.useSingleServer().setPassword(redisPassword).setAddress(redis://redisHost:redisPort).setPingConnectionInterval(1000);//创建客户端RedissonClient redissonClient Redisson.create(config);return redissonClient;}
}
使用
String lockKeyuser:coupon:couponId;
RLock lock redissonClient.getLock(lockKey);
lock.lock();
try{//业务逻辑
}finally{lock.unlock
}注意事项
其加锁API有两个一个是lock无任何参数一个是要显式指明解锁时间。 看门狗机制在redisson实例关闭前不断的延长锁的有效期。
默认情况下不显式设置锁过期时间看门狗检查锁的超时时间是30秒或者通过Config.lockWatchdogTimeout来进行指定。如果显式的指定了锁过期时间则无看门狗并且无需手动释放锁。
写在最后
有关于SpringBoot结合Redisson实现分布式锁到此就结束了。感谢大家的阅读希望大家在评论区对此部分内容散发讨论便于学到更多的知识。