当前位置: 首页 > news >正文

Redis中加锁的lua脚本的源码

Redis中加锁的lua脚本的源码:

<T> RFuture<T> tryLockInnerAsync(long leaseTime, TimeUnit unit, long threadId, RedisStrictCommand<T> command) {
    internalLockLeaseTime = unit.toMillis(leaseTime);

    return commandExecutor.evalWriteAsync(getName(), LongCodec.INSTANCE, command,
              "if (redis.call('exists', KEYS[1]) == 0) then " +
                  "redis.call('hset', KEYS[1], ARGV[2], 1); " +
                  "redis.call('pexpire', KEYS[1], ARGV[1]); " +
                  "return nil; " +
              "end; " +
              "if (redis.call('hexists', KEYS[1], ARGV[2]) == 1) then " +
                  "redis.call('hincrby', KEYS[1], ARGV[2], 1); " +
                  "redis.call('pexpire', KEYS[1], ARGV[1]); " +
                  "return nil; " +
              "end; " +
              "return redis.call('pttl', KEYS[1]);",
                Collections.<Object>singletonList(getName()), internalLockLeaseTime, getLockName(threadId));
}

相关文章:

  • Mac电脑解决Google翻译失效实用方法
  • 【易购管理系统】商品列表
  • 北斗导航 | RTKLib中的模型和算法(一)—— 时间系统
  • 【论文阅读】自动作文评分系统:一份系统的文献综述
  • avformat_open_input() 代码分析
  • Spring Bean的生命周期、Java配置BeanFactoryPostProcessor失效与解决
  • 大模型系统和应用——高效训练模型压缩
  • “华为杯”第十八届中国研究生数学建模竞赛一等奖经验分享
  • C#的StreamReader类使用说明
  • 基于图搜索的规划算法之 A* 家族(九):Hybrid A* 算法
  • 2022年Webpack 5初学者完整指南
  • 【MATLAB教程案例22】基于MATLAB图像去噪算法仿真——中值滤波、高斯滤波以及频域滤波等
  • 浙江大学软件学院2022保研经历分享
  • 表的自然连接(数据结构链表链接)
  • 在Vue脚手架实现登录页面及跳转
  • egg(89)--egg之redis的发布和订阅
  • Electron入门介绍
  • js作用域和this的理解
  • Netty 4.1 源代码学习:线程模型
  • nodejs实现webservice问题总结
  • react-core-image-upload 一款轻量级图片上传裁剪插件
  • Solarized Scheme
  • vagrant 添加本地 box 安装 laravel homestead
  • 阿里云应用高可用服务公测发布
  • 从伪并行的 Python 多线程说起
  • 对话:中国为什么有前途/ 写给中国的经济学
  • 番外篇1:在Windows环境下安装JDK
  • 构建二叉树进行数值数组的去重及优化
  • 近期前端发展计划
  • 快速体验 Sentinel 集群限流功能,只需简单几步
  • 如何设计一个比特币钱包服务
  • 通过获取异步加载JS文件进度实现一个canvas环形loading图
  • 推荐一款sublime text 3 支持JSX和es201x 代码格式化的插件
  • 一道面试题引发的“血案”
  • 一个JAVA程序员成长之路分享
  • 一个普通的 5 年iOS开发者的自我总结,以及5年开发经历和感想!
  • 原生 js 实现移动端 Touch 滑动反弹
  • 说说我为什么看好Spring Cloud Alibaba
  • ​DB-Engines 11月数据库排名:PostgreSQL坐稳同期涨幅榜冠军宝座
  • ​中南建设2022年半年报“韧”字当头,经营性现金流持续为正​
  • #《AI中文版》V3 第 1 章 概述
  • #HarmonyOS:基础语法
  • #微信小程序(布局、渲染层基础知识)
  • #我与Java虚拟机的故事#连载13:有这本书就够了
  • (1)安装hadoop之虚拟机准备(配置IP与主机名)
  • (Pytorch框架)神经网络输出维度调试,做出我们自己的网络来!!(详细教程~)
  • (附源码)springboot 个人网页的网站 毕业设计031623
  • (附源码)ssm户外用品商城 毕业设计 112346
  • (附源码)ssm旅游企业财务管理系统 毕业设计 102100
  • (十)【Jmeter】线程(Threads(Users))之jp@gc - Stepping Thread Group (deprecated)
  • (十三)Maven插件解析运行机制
  • (四)搭建容器云管理平台笔记—安装ETCD(不使用证书)
  • (一)Thymeleaf用法——Thymeleaf简介
  • (转)机器学习的数学基础(1)--Dirichlet分布
  • **python多态