作者名称:DaenCode
作者简介:啥技术都喜欢捣鼓捣鼓,喜欢分享技术、经验、生活。
人生感悟:尝尽人生百味,方知世间冷暖。
所属专栏:SpringBoot实战
以下是专栏部分内容,更多内容请前往专栏查看!
标题 |
---|
一文带你学会使用SpringBoot+Avue实现短信通知功能(含重要文件代码) |
一张思维导图带你学会Springboot创建全局异常、自定义异常 |
一张思维导图带你打通SpringBoot自定义拦截器的思路 |
28个SpringBoot项目中常用注解,日常开发、求职面试不再懵圈 |
一张思维导图带你学会SpringBoot、Vue前后端分离项目线上部署 |
一张流程图带你学会SpringBoot结合JWT实现登录功能 |
一张思维导图带你学会使用SpringBoot中的Schedule定时发送邮件 |
一张思维导图带你学会使用SpringBoot异步任务实现下单校验库存 |
一张思维导图带你学会SpringBoot使用AOP实现日志管理功能 |
链接>>>>>>>>>
《Redis从头学》链接>>>>>>>
《图解RabbitMQ》Redisson官方中文文档:https://github.com/redisson/redisson/wiki/%E7%9B%AE%E5%BD%95
<dependency>
<groupId>org.redissongroupId>
<artifactId>redissonartifactId>
<version>3.10.1version>
dependency>
spring:
redis:
host: ip
password: 密码
port: 端口号
@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;
@Bean
public RedissonClient redissonClient(){
//创建配置
Config config=new Config();
config.useSingleServer()
.setPassword(redisPassword)
.setAddress("redis://"+redisHost+":"+redisPort)
.setPingConnectionInterval(1000);
//创建客户端
RedissonClient redissonClient= Redisson.create(config);
return redissonClient;
}
}
String lockKey="user:coupon:"+couponId;
RLock lock = redissonClient.getLock(lockKey);
lock.lock();
try{
//业务逻辑
}finally{
lock.unlock
}
其加锁API有两个,一个是lock无任何参数;一个是要显式指明解锁时间。
看门狗机制:在redisson实例关闭前,不断的延长锁的有效期。
有关于SpringBoot结合Redisson实现分布式锁到此就结束了。感谢大家的阅读,希望大家在评论区对此部分内容散发讨论,便于学到更多的知识。