Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/redis/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
redis lua在需要时返回nil_Lua_Redis - Fatal编程技术网

redis lua在需要时返回nil

redis lua在需要时返回nil,lua,redis,Lua,Redis,我是lua的新手。我想从Lua访问redis。我已经下载了,将文件夹改为/src,在那里我可以看到文件redis.lua。因此,如果我启动Lua并尝试导入此文件,我会得到以下结果: root@debian:/home/debian/redis-lua-master/src# ls redis.lua root@debian:/home/debian/redis-lua-master/src# lua Lua 5.3.2 Copyright (C) 1994-2015 Lua.org, PUC-

我是lua的新手。我想从Lua访问redis。我已经下载了,将文件夹改为/src,在那里我可以看到文件redis.lua。因此,如果我启动Lua并尝试导入此文件,我会得到以下结果:

root@debian:/home/debian/redis-lua-master/src# ls
redis.lua
root@debian:/home/debian/redis-lua-master/src# lua
Lua 5.3.2  Copyright (C) 1994-2015 Lua.org, PUC-Rio
> local r = require 'redis'
> r
nil
我的目标是运行此示例:

local redis = require 'redis'
local client = redis.connect('127.0.0.1', 6379)
local response = client:ping()  
但它失败了,因为redis变量为零。我做错了什么


谢谢。

通常这只是意味着库未安装(或未安装在正确的位置)。如果您使用的是基于dpkg的linux发行版,那么很有可能

apt-get install lua-redis
我会解决这个问题的

编辑:我刚刚看到您正在Lua控制台中执行此操作。不要在那里使用局部变量,因为这些变量是作用域的局部变量,它们将无法保存到下一次调用

redis = require 'redis'
client = redis.connect('127.0.0.1', 6379)
response = client:ping()  

在一个正常的程序中,它应该可以工作,但是

亲爱的@Ctx,thanx很多,我的进步很小!!但在我接受你的回答之前,请给我一些小建议。是否可以在没有apt get的情况下“安装”lua redis?在lua世界中安装库意味着什么?塔克斯!也许您应该首先检查库是否真的不可用(例如,lua控制台中的“return require'redis'”是什么意思?请完全按照指定键入)?我这样问是因为如果require失败,您的解释器通常会给出警告/错误require'redis'给出带有十六进制地址的表。但这是因为我认为我当前的文件夹是src。如果我在src文件夹之外,什么是正确的方法?不,我认为库已经正确就位了。由于缺少套接字库,当lua consoleConnect中没有前缀“local”时,您应该尝试一下这三个命令(require/connect/ping)是否有效。但我的问题有点不同:如果我有lua redis的源文件,如何在没有apt get的情况下安装它?FWIW,您可能想比较lua redis库: