Сложность подключения Lua к серверу redis
У меня проблема с подключением к серверу Redis. Я установил redis-lua (2.0.4-1) и luasocket (3.0rc1-2), используя luarocks. Я только что побежал luarocks install redis-lua
, Когда я звоню redis.connect
Я получаю ошибку:
Lua 5.1.5 Copyright (C) 1994-2012 Lua.org, PUC-Rio
> local redis = require 'redis'
> local client = redis.connect('127.0.0.1', 6379)
stdin:1: attempt to index global 'redis' (a nil value)
stack traceback:
stdin:1: in main chunk
[C]: ?
>
И я понятия не имею, почему...
1 ответ
Решение
Есть разница, когда вы выполняете в интерактивном режиме или через скрипт. Когда в интерактивной оболочке lua, ваш local
переменные / время выполнения ограничены этим конкретным уровнем исполнения. Вот почему
local redis = require 'redis'
предоставит вам redis
переменная только в этой строке заявления. Вы должны были бы соединиться с сервером в той же строке заявления:
> local redis = require 'redis'; local client = redis.connect('127.0.0.1', 6379); -- so other statements
В качестве альтернативы, в интерактивном режиме, просто не используйте local
объем.