在单体中,大部分使用synchronize来加锁,但是这个锁只是在一个jvm中起作用,而现在大体是分布式,这个时候就可以考虑使用redis加锁了。
主要思想:
1.唯一key,可锁性
2.不论什么情况要保证锁的释放(redis过期时间,删除key)
3.主线程的执行时间比rdis的过期时间长
解决方案:加钟。开一个子线程写一个定时器,去检查主线程执行完了没有,如果没有的话,就重新设置redis的过期时间。 (已经有一个redisson(类似于jedis)的工具实现了,前者多用于分布式中)
4.redisson的使用方式
pom引入相关依赖