Redis分布式锁不能解决超时问题,分布式锁有一个超时时间,程序的执行如果超出了锁的超时时间就会出现问题。
可以使用:redission依赖,redission解决redis超时问题的原理。
为持有锁的线程开启一个人守护线程,守护线程会每隔10秒检查当前线程是否持有锁,如果持有则延迟生存时间。
使用:
-
-
org.redisson -
redisson -
3.13.4 -
-
- //获取redisson对象并交于spring容器管理
- @Bean
- public Redisson redisson(){
- Config config =new Config();
- config.useSingleServer().
- setAddress("redis://localhost:6379").
- //redis默认有16个数据库
- setDatabase(0);
- return (Redisson) Redisson.create(con