第一次写Lua脚本,并通过springboot的redisTemplate调用脚本,进行脚本与应用的交互。不熟悉真的折腾了好久,现在总结一下学习过程:
第一次写完lua时,想到的就是如何在应用调用脚本的时候,去调试脚本。在网上海搜了一把,能找到的有点相关的寥寥无几。
有一种方法是通过执行redis命令,调用redis客户端,加载lua脚本,然后出现基于命令行调试的交互界面,输入调试命令去调试脚本。如下:
在终端输入命令:redis-cli.exe --ldb --eval LimitLoadTimes.lua 1 mykey , myargv
--ldb:redis-cli.exe进行命令调试的必要参数
--eval:告诉redis客户端去加载Lua脚本,后面跟着的就是 lua脚本的路径(我是直接放在redis目录下),
1:传给Lua脚本的key的数量,我测试的时候是1
--mykey:自己传的一个key值,和前面的数量1对应
--myargv:自己传的除key外的参数,可以是多个
注,命令中的逗号不能忽略,并且前后要有一个空格
回车,如上图,本来以为可以进入调试,结果等了半天,一直没有出现交互的命令行界面,找了好久,还是没找到办法,结果只好先暂停(如果有大神遇到这种情况,跪求解~~)。换一种调试方式,把调试信息打在redis日志上。
下面是我自己调用脚本时,打印调试信息的方式,如果有更好的方式,请不吝赐教。
1、选择redisTemplate序列化方式
首先,创建一个redisTemplate,具体代码就不说了,这个比较简单。要注意的是,需要设置redisTemplate的序列化方式,springBoot默认是基于java jdk的序列化。通过这种序列化后的参