当前位置:   article > 正文

redis执行lua脚本_redis script lua怎么监控连接

redis script lua怎么监控连接

原文:https://blog.csdn.net/m0_67402125/article/details/123792116

  • 语法格式

语法: eval script numkeys keys args

参数: eval — redis提供解析lua脚本的命令

script — lua脚本

numkeys — 指定键名参数集(keys)的个数

keys — 键名参数集,通过全局变量KEYS数组表示,起始下标为1

args — 键值参数集,通过全局变量ARGV数组表示,起始下标为1

描述: EVAL命令的语义要求字面量不要直接写在lua脚本中,推荐使用变量来定义lua脚本,并将字面量放在键名参数集keys和键值参数集args中,通过全局变量KEYS和ARGV来获取,这样做的好处是可缓存!在lua脚本中,可以使用两个函数来执行redis命令,分别是:redis.call()和redis.pcall()

例子:

第一个eval命令,设置一个key=name,value=sym的字符串

eval “return redis.call(‘set’,KEYS[1],ARGA[1])” 1 name sym

第二个eval命令:获取key=name的字符串的值

eval “return redis.call(‘get’,KEYS[1])” 1 name

在这里插入图片描述
错误处理

上面说过,在lua脚本中可以使用call()和pcall()来执行redis脚本,这两个函数的效果是一模一样的,唯一区别就是它们对于错误处理的不同:

①redis.call()在执行命令中发生错误,脚本会停止执行,返回一个脚本错误,错误的输出信息会说明错误造成的原因:

在这里插入图片描述
②redis.pcall()执行命令出错时将捕获错误并返回表示错误的Lua表类型
在这里插入图片描述

本文内容由网友自发贡献,转载请注明出处:https://www.wpsshop.cn/w/知新_RL/article/detail/921559
推荐阅读
相关标签
  

闽ICP备14008679号