redis:“;“多批量回复”-&燃气轮机;lua表
ti有一个排序集,如下所示:redis:“;“多批量回复”-&燃气轮机;lua表,lua,redis,Lua,Redis,ti有一个排序集,如下所示: |key |score |member zadd mykey 100 event:1 zadd mykey 101 event:2 zadd mykey 102 event:3 result = { "event:1", "100", "event:2", "101" } 现在我使用lua脚本从给定的分数范围返回一个子集 var result = redis.call('zrangebyscore', 'mykey', start,
|key |score |member
zadd mykey 100 event:1
zadd mykey 101 event:2
zadd mykey 102 event:3
result = { "event:1", "100", "event:2", "101" }
现在我使用lua脚本从给定的分数范围返回一个子集
var result = redis.call('zrangebyscore', 'mykey', start, stop, 'WITHSCORES')
lua脚本中的结果表是什么样子的?(因为我不能调试,我不得不问)
从:Redis multi-bulk reply->Lua表(可能嵌套了其他Redis数据类型)-这是我能找到的所有信息
会不会是:
result = { 'event:1', 100, 'event:2', 101, 'event:3', 102 }
或者
result = { 100, 'event:1', 101, 'event:2', 102, 'event:3' }
或者不同?假设您正在使用的可以写入标准输出,您可以添加转储函数并输出表格格式 我用 因此,对于您的示例,您只需添加
debug = true
dump(var,'redis-table')
假设您正在使用的可以写入标准输出,您可以添加一个转储函数并输出表格式 我用 因此,对于您的示例,您只需添加
debug = true
dump(var,'redis-table')
来自
zrangebyscore的结果。。。WithCores
——或者从带有分数的排序集读取的任何数据——都将作为lua表返回,如下所示:
|key |score |member
zadd mykey 100 event:1
zadd mykey 101 event:2
zadd mykey 102 event:3
result = { "event:1", "100", "event:2", "101" }
价值第一,得分第二。值和分数都是字符串。来自
zrangebyscore的结果。。。WithCores
——或者从带有分数的排序集读取的任何数据——都将作为lua表返回,如下所示:
|key |score |member
zadd mykey 100 event:1
zadd mykey 101 event:2
zadd mykey 102 event:3
result = { "event:1", "100", "event:2", "101" }
价值第一,得分第二。值和分数都是字符串。不幸的是,
io
模块不可用。有redis.log
和以下库:base、table、string、math、debug、cjson、cmsgpack。查看redis的帮助,应该可以用redis.log(redis.log\u VERBOSE,value)替换io.write。虽然结果的格式不是很好,但是使用redis.log(redis.log\u VERBOSE,cjson.encode(result))可能更容易。。。但这并不重要,因为答案如下。但是询问者似乎已经抛弃了我们不幸的是,io
模块不可用。有redis.log
和以下库:base、table、string、math、debug、cjson、cmsgpack。查看redis的帮助,应该可以用redis.log(redis.log\u VERBOSE,value)替换io.write。虽然结果的格式不是很好,但是使用redis.log(redis.log\u VERBOSE,cjson.encode(result))可能更容易。。。但这并不重要,因为答案如下。但是询问者似乎已经抛弃了我们