Почему это не печатает «привет»?Как вывести на консоль из сценария Redis Lua?
$ redis-cli
127.0.0.1:6379> eval "print('hello')" 0
(nil)
127.0.0.1:6379>
Запуск 2.8.14 на Mac OS X, 2.8.12 на Windows 7.
Я звоню Lua скрипты Jedis. Развить их - это как построить корабль с бутылкой, носить варежки, а кто-то ударил меня в лицо. Моя конечная цель - как-то воссоздать полуфункциональный стек разработки с помощью команд print trace, debug, что угодно.
Мое обходное решение для моего сценария Lua - это список Redis, называемый «log», возвращающий его в 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)
Заранее спасибо за любые советы, помощь и т.д.
Update: Просто заметил, что «привет» делает вывод через окно терминала для Redis-сервер исполняемого файла. Умная. Итак, теперь я терминал каждый для redis-сервера, redis-cli interactive и redis-cli monitor.
Update 2: Просто понял, что я могу напечатать своего рода заявления следовые к Redis-кли монитор, как это:
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"
Я недавно опубликовал эту коллекцию методов, которые все призваны помочь в отслеживании и отладки Lua в Redis - надеюсь, что это поможет :) https://redislabs.com/blog/5-methods-for-tracing-and-debugging-redis-lua-scripts –
Как нисходящий комментарий избирателя - yah troll beat на новичке. .. geeze – chrislovecnm