已解决
Redis快速上手篇八(redission分布式锁)
来自网友在路上 174874提问 提问时间:2023-10-28 07:41:09阅读次数: 74
最佳答案 问答题库748位专家为你答疑解惑
Redisson是一个在Redis的基础上实现的Java驻内存数据网格(In-Memory Data Grid)。它不仅提供了一系列的分布式的Java常用对象,还提供了许多分布式服务,其中就包含了各种分布式锁的实现。简单说就是redis在分布式系统上工具的集合,Redission提供了分布式锁的多种多样的功能.
使用redission
自定义redis分布式锁无法自动续期,比如,一个锁设置了1分钟超时释放,如果拿到这个锁的线程在一分钟内没有执行完毕,那么这个锁就会被其他线程拿到,可能会导致严重的线上问题,在秒杀场景下,很容易因为这个缺陷导致的超卖了。
redission 超时时间1m 执行逻辑的时候3m
Redisson 锁加锁流程:线程去获取锁,获取成功则执行lua脚本,保存数据到redis数据库。如果获取失败: 一直通过while循环尝试获取锁(可自定义等待时间,超时后返回失败)。Redisson提供的分布式锁是支持锁自动续期的,也就是说,如果线程仍旧没有执行完,那么redisson会自动给redis中的目标key延长超时时间,这在Redisson中称之为 Watch Dog 机制。
查看全文
99%的人还看了
相似问题
猜你感兴趣
版权申明
本文"Redis快速上手篇八(redission分布式锁)":http://eshow365.cn/6-26621-0.html 内容来自互联网,请自行判断内容的正确性。如有侵权请联系我们,立即删除!