如何使用redis-cli仅导出列表的值?

如何使用redis-cli仅导出列表的值?

我正在尝试导出 Redis 列表的所有值,用作redis-clishell 脚本中的字符串列表。但是,有一些不需要的文本我无法删除。

对于以下列表q1

redis:6379> 5 lpush q1 "{\"id\":1}"
(integer) 1
(integer) 2
(integer) 3
(integer) 4
(integer) 5
redis:6379> 

如果我直接使用 导出它LRANGE,结果会在每行开头有一个行号和一个括号(需要删除)。

:/# redis-cli -h redis LRANGE q1 0 -1
1) "{\"id\":1}"
2) "{\"id\":1}"
3) "{\"id\":1}"
4) "{\"id\":1}"
5) "{\"id\":1}"

如果我使用redis-cli --csv,值之间有一个逗号(需要删除):

:/# redis-cli -h redis --csv LRANGE q1 0 -1
"{\"id\":1}","{\"id\":1}","{\"id\":1}","{\"id\":1}","{\"id\":1}"

如何让 redis 只导出列表值,每一行一个?

答案1

在我的笔记本电脑上redis-cli,使用--raw命令行选项会生成仅包含简单列表值的输出。即,没有“1)”、“2)”等前缀。

Redis 6.0.9 版本添加了--raw命令行选项redis-cli,因此旧版本不支持。

相关内容