Redis 获取列表项并附加前缀

Posted

技术标签:

【中文标题】Redis 获取列表项并附加前缀【英文标题】:Redis get list items and append prefix 【发布时间】:2020-03-02 08:43:49 【问题描述】:

我在 redis 中有一个字符串列表 -

LPUSH keys 1 2 3 4

而且阅读很容易 -

LRANGE keys 0 3

1) "4"
2) "3"
3) "2"
4) "1"

如何从列表中读取每个值前面都有一些指定的字符串?在上述情况下,我希望我的输出为 -

1) "Key:4"
2) "Key:3"
3) "Key:2"
4) "Key:1"

【问题讨论】:

【参考方案1】:

你需要使用 lua - https://redis.io/commands/eval

您可以搜索lua文档并根据需要修改以下代码。

这是一个例子:

127.0.0.1:6379> LPUSH keys 1 2 3 4
(integer) 4
127.0.0.1:6379> LRANGE keys 0 3
1) "4"
2) "3"
3) "2"
4) "1"
127.0.0.1:6379> EVAL 'local res =  local ttt=redis.call("LRANGE", "keys", "0", "10") for k, v in pairs(ttt) do table.insert(res, "Key:" .. v) end return res' 0
1) "Key:4"
2) "Key:3"
3) "Key:2"
4) "Key:1"

【讨论】:

以上是关于Redis 获取列表项并附加前缀的主要内容,如果未能解决你的问题,请参考以下文章

从给定数据库中选择所有表时,如何将 [dbo] 前缀附加到表名?

将字符附加到列表字符串

为啥我不能从将一个列表附加到另一个列表中获取元素

获取附加到特定订阅中 VM 的 Azure OS 磁盘列表

如何从数组动态创建复选框列表?

如何获取附加了 Jquery Multifield 插件的多个下拉列表和文件上传的值