Redis-Lua字符串中的数组键

时间:2016-10-21 03:25:45

标签: lua redis

我在Redis下执行Lua。我遇到一个问题,即我不能使用字符串作为数组键。 我的编码如下,我们发现 mytable ["哇"] 被丢弃:

FileName:hget.lua

local mytable = {}
mytable[1]= "Lua"
mytable["wow"] = "Tutorial"
return mytable

Command:redis-cli --eval hget.lua   

返回的结果是:

1) "Lua"

1 个答案:

答案 0 :(得分:2)

如果要将表格返回Redis,则表格中没有字符串键。

Redis将返回的表作为数组,其索引从RewriteEngine On RewriteCond %{HTTP_USER_AGENT} ^.*(PhantomJS|wget|HTTrack|python).*$ [OR] RewriteCond %{REQUEST_URI} ^.*poo_master/price_parse.*$ RewriteRule . - [F,L] 开始。它丢弃表中键不是整数的其他元素。在你的情况下,即1,因为键是一个字符串,Redis会忽略这个元素。

此外,索引必须是顺序的,否则,Redis会丢弃一些元素。以下面的例子为例:

mytable["wow"] = "Tutorial"

结果:

local t = {}
t[1] = "1"    -- OK
t[2] = "2"    -- OK
t[4] = "4"    -- since index 3 is missing, this element will be discarded
t["string_key"] = "value"   -- since the key is string, this element will be discarded

return t