我遇到连接redis服务器的问题。我已经使用luarocks安装了 redis-lua(2.0.4-1)和 luasocket(3.0rc1-2)。我刚刚运行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]: ?
>
我不知道为什么......
答案 0 :(得分:0)
当您以交互模式或通过脚本执行时,会有所不同。在交互式lua shell中,您的local
变量/运行时限定为特定的执行级别。这就是为什么
local redis = require 'redis'
仅在该语句行中为您提供redis
变量。您必须在同一语句行中连接到服务器:
> local redis = require 'redis'; local client = redis.connect('127.0.0.1', 6379); -- so other statements
或者,在交互模式下,不要使用local
范围。