当前位置: 首页 > 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  代表 当前值 >= 某个值的时候 不更新有效期

 

相关文章:

  • 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章 网络规划和设计②
  • 人民网三评“网络烂梗”:莫让低级趣味围猎青少年
  • 外交部:各方应为俄乌双方恢复直接对话创造条件
  • 国台办:实现祖国完全统一是大势所趋、大义所在、民心所向
  • 大英博物馆展歌川广重:他是梵高最钟爱的浮世绘名家
  • 习近平同巴西总统卢拉会谈
  • 明查|印度空军“又有一架战机被巴基斯坦击落,飞行员被俘”?