首页 > 解决方案 > Redis 获取列表项并附加前缀

问题描述

我在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"

标签: listredisprefix

解决方案


您将需要使用 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"

推荐阅读