基于Lua脚本分布式锁实现.pdfVIP

  • 0
  • 0
  • 约4.23千字
  • 约 6页
  • 2026-10-10 发布于北京
  • 举报

T异步未来T尝试异步加锁(长整型

租约时间,

时间单位,

长整型

线程ID,

Redis严格命令T命令)

{锁租约时间

=单位转毫秒(租约时间);

返回

commandExecutor.evalWriteAsync(getName(),LongCodec.INSTANCE,

command,

###当键

不存在时,使用Lua

代码创建集合

并设置过期时间

if(redis.call(ests,KEYS[1])==0)

then

+

redis.call(hset,

KEYS[1],ARGV[2],

1);

+

redis.call(pexpire,KEYS[1],

ARGV[1]);

+

returnnil;+

end;+

###如果是相同线程调用lock方法需将重入次数+1

如果

(redis.call(hests,

KEYS[1],ARGV[2])==1)

那么

+

文档评论(0)

1亿VIP精品文档

相关文档