Redis快速上手篇八(redission分布式锁)

在赶工了...

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 机制。

相关推荐
身如柳絮随风扬24 分钟前
Redis如何实现高效插入大量数据
数据库·redis·缓存
Dream of maid28 分钟前
Mysql(3)运算符
数据库·mysql·adb
XDHCOM1 小时前
ORA-41722权限不足引发数据库变更通知故障,Oracle报错修复与远程处理方案引热议
数据库·oracle
修己xj1 小时前
人大金仓 KingbaseES V8 数据库 Docker 部署指南
数据库
Yushan Bai1 小时前
windows环境oracle 11.2.0.1版本数据库启动报错ORA-01589问题的处理
数据库·oracle
予早1 小时前
Redis 设置库的数量
数据库·redis·缓存
OxyTheCrack1 小时前
【C++】一文详解C++智能指针自定义删除器(以Redis连接池为例)
c++·redis
奔跑吧树袋熊1 小时前
Oracle 9i 与 19c 跨版本字符集乱码(US7ASCII ↔ AL32UTF8)DBLink 解决方案
数据库·oracle
byzh_rc2 小时前
[AI编程从入门到入土] 配置文件
java·数据库·ai编程
黑金IT2 小时前
vLLM本地缓存实战,重复提交直接复用不浪费算力
人工智能·缓存