我正在尝试导出 Redis 列表的所有值,用作redis-cli
shell 脚本中的字符串列表。但是,有一些不需要的文本我无法删除。
对于以下列表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
,因此旧版本不支持。