我在Redis下执行Lua。我遇到一个问题,即我不能使用字符串作为数组键。 我的编码如下,我们发现 mytable ["哇"] 被丢弃:
FileName:hget.lua
local mytable = {}
mytable[1]= "Lua"
mytable["wow"] = "Tutorial"
return mytable
Command:redis-cli --eval hget.lua
返回的结果是:
1) "Lua"
答案 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