redis:“多 Bulk 回复” -> Lua 表格
2012-9-5 10:42:43
收藏:0
阅读:136
评论:2
我有一个像这样的已排序集合:
|key |score |member
zadd mykey 100 event:1
zadd mykey 101 event:2
zadd mykey 102 event:3
现在我使用 Lua 脚本从给定的分数范围返回子集:
var result = redis.call('zrangebyscore', 'mykey', start, stop, 'WITHSCORES')
在 Lua 脚本中,结果表会是什么样子?(由于我无法调试,所以必须询问)
从 redis-doc 上可以得到:Redis 多个回复 -> Lua 表(可能嵌套其他 Redis 数据类型)-这是我能找到的所有信息。
它会像这样吗:
result = { 'event:1', 100, 'event:2', 101, 'event:3', 102 }
还是像这样
result = { 100, 'event:1', 101, 'event:2', 102, 'event:3' }
或者是不同的呢?
点赞
用户295262
一个 zrangebyscore ... withscores 的结果——或者实际上是从一个带有分数的排序集合中读取的任何内容——将被作为一个 Lua 表返回,如下所示:
result = { "event:1", "100", "event:2", "101" }
值在前,得分在后。 值和得分都是字符串。
2012-09-05 10:47:11
评论区的留言会收到邮件通知哦~
推荐文章
- 如何将两个不同的lua文件合成一个 东西有点长 大佬请耐心看完 我是小白研究几天了都没搞定
- 如何在roblox studio中1:1导入真实世界的地形?
- 求解,lua_resume的第二次调用继续执行协程问题。
- 【上海普陀区】内向猫网络招募【Skynet游戏框架Lua后端程序员】
- SF爱好求教:如何用lua实现游戏内调用数据库函数实现账号密码注册?
- Lua实现网站后台开发
- LUA错误显式返回,社区常见的规约是怎么样的
- lua5.3下载库失败
- 请问如何实现文本框内容和某个网页搜索框内容连接,并把网页输出来的结果反馈到另外一个文本框上
- lua lanes多线程使用
- 一个kv数据库
- openresty 有没有比较轻量的 docker 镜像
- 想问一下,有大佬用过luacurl吗
- 在Lua执行过程中使用Load函数出现问题
- 为什么 neovim 里没有显示一些特殊字符?
- Lua比较两个表的值(不考虑键的顺序)
- 有个lua简单的项目,外包,有意者加微信 liuheng600456详谈,最好在成都
- 如何在 Visual Studio 2022 中运行 Lua 代码?
- addEventListener 返回 nil Lua
- Lua中获取用户配置主目录的跨平台方法
假设你使用的工具可以写入标准输出,你可以添加一个 dump 函数并输出表格格式。
我使用的代码如下:
function dump (tt, label,indent, done) if debug == true then if label == nil then label = 'Dump' end done = done or {} indent = indent or 0 if type(tt) == "table" then if indent == 0 then io.write(string.rep (" ", indent)) io.write(label..'\n') end for key, value in pairs (tt) do io.write(string.rep (" ", indent)) -- indent it if type (value) == "table" and not done [value] then done [value] = true io.write(string.format("[%s] => table\n", tostring (key))); io.write(string.rep (" ", indent+4)) -- indent it io.write("(\n"); dump (value, tostring(key),indent + 7, done) io.write(string.rep (" ", indent+4)) -- indent it io.write(")\n"); else io.write(string.format("[%s] => %s\n", tostring (key), tostring(value))) end end else io.write(tostring(label)..':'..tostring(tt)) end else return end end因此你可以按照如下方式调用 dump 函数:
debug = true dump(var,'redis-table')