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

【Lua】Redis 自增并设置有效期

【Lua】Redis 自增并设置有效期

方案一  每次执行都会更新有效期

EVAL "local current = redis.call('INCRBY', KEYS[1], ARGV[1]);if tonumber(ARGV[2]) > 0 then redis.call('EXPIRE', KEYS[1], ARGV[2]) end;return current;" 1 mycounter 1 10

参数:

1 代表KEYS 有一个

mycounter  KEYS[1]

1  自增数  ARGV[1]

10  有效期_秒  ARGV[2]

方案二 当前值 >= 某个值的时候 不更新有效期

EVAL "local current = redis.call('INCRBY', KEYS[1], ARGV[1]);if current >= tonumber(ARGV[3]) then return current end;if tonumber(ARGV[2]) > 0 then redis.call('EXPIRE', KEYS[1], ARGV[2]) end;return current;" 1 mycounter 1 10 2

参数:

前四个同  方案一

第五个参数  2  代表 当前值 >= 某个值的时候 不更新有效期

 

http://www.dtcms.com/a/190931.html

相关文章:

  • spring-cloud-stream学习
  • Halcon案例(二):C#联合Halcon回形针以及方向
  • 【idea】调试篇 idea调试技巧合集
  • 第五部分:第二节 - Node.js 核心模块:厨房里的基本工具
  • 显示的图标跟UI界面对应不上。
  • 无人机数据处理与特征提取技术分析!
  • Thrust库中的Gather和Scatter操作
  • 【Linux】第十六章 分析和存储日志
  • uniapp vue 沉浸式窗体如何获取并排除外部手机浏览器底部菜单栏工具栏高度
  • sqli—labs第六关——双引号报错注入
  • 小白学习java第18天(上):spring
  • 【C++】17. 多态
  • 大型企业数据治理与数据资产化:数字化转型的炼金术革命
  • 如何解决电脑蓝屏错误代码:Oxc0000098
  • 鸿蒙OSUniApp开发支持多语言的国际化组件#三方框架 #Uniapp
  • elementUI调整滚动条高度后与固定列冲突问题解决
  • 高海拔和远距离的人员识别:面部、体型和步态的融合
  • Java 源码 HashMap源码分析
  • PROE 转 STP 全攻略:软件实操、在线转换与问题解决
  • 【网工第6版】第10章 网络规划和设计②
  • D. Eating【Codeforces Round 1005 (Div. 2)】
  • 微机原理与接口技术知识点总结——8086微处理器ddddd
  • 16 - VDMA之视频转发实验
  • 字符串检索算法:KMP和Trie树
  • 解决 PicGo 上传 GitHub图床及Marp中Github图片编译常见难题指南
  • VUE3 -综合实践(Mock+Axios+ElementPlus)
  • 安全合规检查开源项目ComplianceAsCode/content详解及操作系统新产品开发适配指南
  • less中使用 @supports
  • tensorflow安装及简单例程学习
  • Baklib知识中台赋能业务智能跃迁