首页 > 其他分享 >lua脚本的使用

lua脚本的使用

时间:2023-03-04 20:35:17浏览次数:38  
标签:脚本 -- key1 redis 注释 lua 使用 日志

  1. 先开启redis的日志输出

    修改redis.conf文件,设置logfile /root/tools/redis-6.0.9/logs/redis.log
    image-20230304130756593

  2. 重启redis
    systemctl restart redisd

  3. 创建一个简单的lua脚本test.lua

    --在redis日志文件中输入日志,并且日志级别是redis.LOG_NOTICE
    redis.log(redis.LOG_NOTICE,"测试打印控制台")
    
    return "123123123"
    
  4. 执行脚本

     ../redis-cli --eval test.lua
    

    返回值
    image-20230304131740897

​ 日志文件的控制台输入
image-20230304131808881

  1. 修改test.lua

    --相当于 set key1 value1
    redis.call("set","key1","value1")
    
    --相当于 get key1,然后把结果赋值给 var1
    local var1 = redis.call("get","key1")
    
    --返回var1
    return var1;
    

    执行结果
    image-20230304132425102
    查看redis中的 键多了一个名为key1的键
    image-20230304132533402

  2. redis.call 和 redis.pcall的区别

    • redis.call 如果遇到单挑命令错误,会中断整个脚本的执行,已经执行的不会回退
    • redis.pcall 如果遇到单条语句失败,会继续执行完整个脚本
  3. lua 脚本的注释

    • 单行注释

      --这里是注释
      
    • 多行注释

      --[[
      
      		这里是多行注释
      
      		这里是注释的第二行
      
       ]]
      
  4. 参数的传入

标签:脚本,--,key1,redis,注释,lua,使用,日志
From: https://www.cnblogs.com/cxygg/p/17179024.html

相关文章

  • 5.使用Promise实现串行
    实现promise的核心思想是借助reduce 第一步constres=[]//定义一个接受不同promise执行结果的数组第二步返回一个promise对象returnnewPromise((resolve,rej......
  • pycharm使用git
    ......
  • 使用nginx部署vue项目到服务器
    使用nginx部署vue项目到服务器1.连接服务器方法一:使用阿里云服务器*直接在阿里云上后台实例处选择远程连接即可方法二:使用使用Xshell和xfpt连接1.官网下载这两个......
  • 1. Playwright 环境安装以及基本使用
    前言:Playwright旨在实现常绿、强大、可靠和快速的跨浏览器Web自动化。playwright基本特点如下:支持浏览器端的录制,生成自动化脚本,支持无头跑脚本速度快,基本是sele......
  • 在服务器上使用python虚拟环境
    在服务器上直接用pip安装python包会破坏系统python环境,因此要部署django之类的服务需要创建python虚拟环境(目标系统:Debian11)。1.安装pipapt-getinstallpython3-pip#......
  • Lua 学习---2
    值和类型 Luaisa dynamicallytypedlanguage.Thismeansthatvariablesdonothavetypes;onlyvaluesdo.Therearenotypedefinitionsinthelanguage.A......
  • C#使用WinExec调用exe程序
    添加引用usingSystem.Runtime.InteropServices;//调用外部的DLL 定义DLL[DllImport("kernel32.dll")]publicstaticexternintWinExec(stringprogramPath,......
  • ICSharpCode.SharpZipLib 初级使用
    https://blog.csdn.net/vividboy/article/details/2418503https://www.cnblogs.com/Leo_wl/p/5582871.html其中将压缩包进行服务器端解压的过程就是通过ICSharpCode.Shar......
  • 定位解析一个因脚本劫持导致webpack动态加载异常的问题
    问题描述项目现场的前端项目在点击顶部的导航栏切换不同的模块时,会有小概率出现模块加载报错的情况:我们的前端项目里是有基于react-loadable做的懒加载的,上图的12.be789......
  • 学习Lua--1
    1、标识符Names (alsocalled identifiers)inLuacanbeanystringofletters,digits,andunderscores,notbeginningwithadigit. Identifiersareusedto......