【发布时间】:2018-08-05 20:00:04
【问题描述】:
我有问题,
local searchkey=@searchkey
local blockKeys = redis.call('keys', searchkey)
local table = {}
for i = 0, #blockKeys, 1 do
local seats = redis.call('HVALS', blockKeys[i])
table[i] = seats
end
return table
我想为 .net obj 解析这个表数据
我使用了 StackExchange.Redis 库和 lua 返回 RedisResult 但 lua 表数据未解析 RedisValue[]
有人有想法吗?
【问题讨论】:
-
请勿使用
KEYS。曾经。说真的,永远不要那样做。在推送中,您可以使用SCAN,但这只能用于管理目的,例如数据库分析工具。首先要做的是不依赖于扫描键空间。一个好的经验法则是使用配置文件将KEYS命令重命名为KILL_SERVER;现在; Lua 表应该(根据EVALdocumentation)映射到多批量回复,因此实际的 shape 应该已经“正常工作”。你拿什么回来?会发生什么? -
我不明白,为什么我不使用 keys ,你能给我解释一下吗?因为我检查性能,keys比scan好,而且对于table,hvals返回二进制对象so => key, { {key, obj}, {key, obj }}
-
我已经编辑了我的答案来解决这个问题
标签: c# lua redis stackexchange.redis