安装lua
https://github.com/rjpcomputing/luaforwindows/releases
语法文档
lua和idea集成
- 安装插件emmylua
- Lua包管理工具Luarocks,LuaRocks允许通过"rocks"安装独立的Lua模块
- luarocks list 已安装的lua模块
- 安装redis及调试相关类库:
打开cmd依次运行三个命令进行安装:
luarocks install remdebug
luarocks install prtr-dump
luarocks install redis-lua
luarocks install mobdebug
在idea开发lua和调试
-
启动lua debug
-
debug 调试 redis lua 脚本业务代码
--- debug 调试 redis lua 代码 start ,调试完需删除 --- 让项目启动调试支持 require("mobdebug").start("127.0.0.1",8172) local redis = require 'redis' local host = "127.0.0.1" local port = 6379 client = redis.connect(host, port) redis.call = function(cmd, ...) return assert(loadstring('return client:' .. string.lower(cmd) .. '(...)'))(...) end --- 测试参数 local KEYS = {"user","zhang"} local ARGV={"bin"} --- debug 调试 redis lua 代码 end ,调试完需删除或注释调 --- 下面是 lua 正常逻辑 编写 local hkey = KEYS[1] local hfiled = KEYS[2] local hvalue = ARGV[1] redis.call("hset",hkey,hfiled,hvalue) local value = redis.call("hget",hkey,hfiled)
通过 run 即可进行 debug 调试
让项目启动调试支持
require("mobdebug").start("127.0.0.1",8172)
添加 redis.call 方法,以便于让脚本实现调试操作
local redis = require 'redis'
local host = "127.0.0.1"
local port = 6379
client = redis.connect(host, port)
redis.call = function(cmd, ...)
return assert(loadstring('return client:' .. string.lower(cmd) .. '(...)'))(...)
end
-- 下面是 lua 正常逻辑 编写
通过以上的方式,我们就可以非常方便的书写redis lua,同时进行调试了。
在书写代码的过程中,我们可以利用print方法来打印日志或者debug的方式,看看是不是我们需要的值或者结果。
当redis lua书写完毕,需要将调试时加入的代码段摘掉,然后此lua脚本就可以加载到redis服务器中了
redis服务器上执行 lua
redis-cli -h 127.0.0.1 -p 6379 --eval lua脚本 key1 key2 , value1 value2
例如:
redis-cli.exe -h 127.0.0.1 -p 6379 --eval .\lua\demo2.lua user zhang , bin
lua 在 vscode 中调试
https://blog.csdn.net/qq_35331967/article/details/83864437