$ redis-cli
127.0.0.1:6379> eval "print( 'hello' )" 0
(nil)
127.0.0.1:6379>
我在Mac OS X上运行2.8.14,在Windows 7上运行2.8.12。
我正在从Jedis中调用Lua脚本。开发这些就像戴着手套在瓶子里建造一艘船,同时还有人朝我脸上打。我的最终目标是通过打印跟踪语句、调试等方式,以某种方式重新创建一个半功能的开发堆栈。
我的解决方案是为我的Lua脚本使用一个名为“log”的Redis列表,将其返回给Jedis,然后转储内容。有点像这样:
redis.call( 'del', 'log' )
redis.call( 'rpush', 'log', 'trace statement 1' )
redis.call( 'rpush', 'log', 'trace statement 2' )
...
redis.call( 'lrange', 'log', 0, -1 )
感谢您提供的任何提示、帮助等。
更新:刚注意到'hello'确实通过redis-server可执行文件在终端窗口输出。聪明。所以现在我有了一个redis-server、一个redis-cli交互式和一个redis-cli监视器的终端。
更新2:刚刚发现我可以像这样将跟踪语句打印到redis-cli监视器中:
eval "redis.call( 'echo', 'ugh')" 0
它看起来有点像这样:
123.456 [0 127.0.0.1:57709] "eval" "redis.call( 'echo', 'ugh')" "0"
123.456 [0 lua] "echo" "ugh"