[脚本]JUST_Do-It

  • A+
摘要

redis脚本使用lua解释器来执行脚本,redis2.6版本通过内嵌支持lua环境,执行脚本的常用命令为evaleval命令语法:evalscriptnumkeyskey[key…]arg[arg…]实例:script:参数是一段脚本程序,脚本不必(也不应该)定义为一个Lua函数。numberkeys:用于指定键名参数的个数。ke

  redis脚本使用lua解释器来执行脚本,redis2.6版本通过内嵌支持lua环境,执行脚本的常用命令为eval

  eval命令

  语法:eval script numkeys key [key ...] arg [ arg ...]

  实例:

  script:参数http://www.526bt.com/是一段脚本程序,脚本不必(也不应该)定义为一个Lua函数。

  numberkeys:用于指定键名参数的个数。

  key【key...】 :从eval的第三个参数开始算起,表示在脚本中所用的到那些redis键(key),这些键名参数可以在Lua中通过http://www.526bt.com/全局变量keys数组,用1位基址的形式访问(keys[1],keys[2])

  arg [arg ...]: 附加参数,在 Lua 中通过全局变量 ARGV 数组访问,访问的形式和 KEYS 变量类似( ARGV[1] 、 ARGV[2] ,诸如此类)。

  evalsha命令

  evalsha命令根据给定的sha1校验码,执行缓存在服务器中的脚本。

  将脚本缓存到服务器的操作可以通过SCRIPT LOAD命令进行。

  这个命令的其他地方,不如参数的传入方式,都喝EVAL命令一样。

  evalsha命令基本语法: evalsha  sha1  numkeys  key [key...] arg[arg ...]

  sha1:通过SCRIPT LOAD 生成的sha1校验码。

  key [key ...]: 从 EVAL 的第三个参数开始算起,表示在脚本中所用到的那些 Redis 键(key),这些键名参数可以在 Lua 中通过全局变量 KEYS 数组,用 1 为基址的形式访问( KEYS[1] , KEYS[2] ,以此类推)。

  arg [arg ...]: 附加参数,在 Lua 中通过全局变量 ARGV 数组访问,访问的形式和 KEYS 变量类似( ARGV[1] 、 ARGV[2] ,诸如此类)。

http://www.526bt.com/

  实例:

  Script Exists 命令

  Script Exists命令用于校验指定的脚本是否已经被保存在缓存当中。

  基本语法: evalsha  sha1  numkeys  key[key...]  arg [arg...]

  返回值:一个列表,包含0和1,前者表示脚本不存在于缓存,后者表示脚本已经在缓存里面了。

  列表中的元素和给定的SHA1校验和保持对应关系,比如列表的第三个元素的值就表示第三个SHA1校验和指定脚本在缓存中的状态。

  实例:

  Script Flush 命令

  该命令用于清楚所有LUA脚本缓存。

  基本语法: Script Flush

  返回值:总是返回OK

  实例:

  Script kill命令

  Script kill命令用于杀死当前正在运行的Lua脚本,当且仅当这个脚本没有执行过任何操作时,这个命令才生效。

  这个命令主要用于终止运行时间过长的脚本,比如一个bug而发生无限循环的脚本。

  script kill执行之后,当前正在运行的脚本会被杀死,执行这个脚本的客户端会从eval命令的阻塞当中退出,并收到一个错误作为返回值。

  基本命令:script  kill

  返回值:script kill

  实例:

  Script load script命令

http://www.526bt.com/

  该命令用于将脚本script添加到脚本缓存中,但并不执行这个脚本。

  eval命令也会将脚本添加到脚本缓存中,但是它会里脊对输入的脚本进行求值。

  如果给定的脚本已经在缓存里面了,那么不执行任何操作。

  在脚本被加入到缓存之后,通过evalsha命令,可以使用脚本的sha1校验和来调用这个脚本。

  脚本可以在缓存中保留无限长的时间,知道执行script flush为止。

  基本语法:script  load  script

  返回值:给定脚本的SHA1校验和。

  实例:

分享当前页面将至少获得10%佣金,点此获取推广链接(规则说明)。

本站VIP源码资源永久免费下载!持续更新!www.526bt.com

加入999永久VIP会员带做项目包赚钱!教引流包搭建,社群资源共享!

新项目更新通知QQ群:767688774 站长技术交流QQ付费群:552760713

点击这里给我发消息备用QQ:点击这里给我发消息

  • 我的微信
  • 这是我的微信扫一扫
  • weinxin
  • 源码安装视频教程
  • 教程项目网赚APP扫码下载
  • weinxin

admin
微 信 运 行 任 意 链 接
支付通道搭建、支付接口搭建、承接各种支付项目
域名快速备案个人网站企业公司网站域名快速代理备案快速服务|网站快备
网站漏洞修复 网站木马清理 漏洞修复 漏洞检测 服务器安全维护
广告也精彩

发表评论

您必须才能发表评论!