lua - HMGET 与 lua-resty-redis 中的数组

标签 lua redis

我想替换这个命令:

red:hmget('item', 'item:1', 'item:2')

用类似的东西:

local test = {'item:1', 'item:2'}
red:hmget('item', test)

但是,当我尝试此操作时出现错误 (string expected, got table)。我如何在 Lua for Redis 中格式化它?

最佳答案

根据您使用的 Lua 版本,您需要使用 unpack

  • Lua 5.1 red:hmget('item', unpack(test))
  • Lua 5.2 red:hmget('item', table.unpack(test))

unpack 是一个解开数组样式表的函数,就好像您将其用作一组参数一样。它有点类似于您可能在其他语言中找到的 splat 运算符。

> =unpack{'item:1', 'item:2'}
item:1  item:2

关于lua - HMGET 与 lua-resty-redis 中的数组,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20276034/

相关文章:

redis - 在Redis中查找特定数字的上限或下限

redis - 我可以使用 twemproxy 通过 redis 队列大小进行负载平衡吗?

c#-4.0 - SETEX 中的过期时间无效,sPort : 12702 in Redis

c++ - 从 Lua 内部获取 Lua 状态,以便它可以传递回 C

linux - Lua:加载模块文件时出错,找不到

lua - PCALL 是怎么回事还是 Wowwiki 错了?

lua - 是否有一个选项可以让 LuaJIT 进行边界检查?

unicode - 我怎样才能标准化日语,以便我可以对 Lua 中的禁用词进行单词检查?

redis - 仅允许来自本地主机的 Redis 连接?

ruby - WebSocket 和 Redis 导致来自 pubsub 和/或 brpop 的连接挂起