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表_Lua_Redis - Fatal编程技术网

redis:“;“多批量回复”-&燃气轮机;lua表

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,

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, 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))可能更容易。。。但这并不重要,因为答案如下。但是询问者似乎已经抛弃了我们