我在redis中保存了一个非常小的数据,以下内容按预期工作,允许我下载所有密钥。
redis-cli keys *
有没有办法获得键+值*?
答案 0 :(得分:81)
没有命令,但您可以编写一个脚本来执行此操作。
您需要为每个键执行“type”命令:
> type <key>
并根据响应执行:
get <key>
hgetall <key>
lrange <key> 0 -1
smembers <key>
zrange <key> 0 -1 withscores
请记住,对于哈希和已排序的集合,您将获得键/分数和值。
答案 1 :(得分:2)
使用redis >= 5.x
,引入了新的数据类型stream
。所以,
> type <key>
应给您stream
。要获取其值:
> XRANGE <key> - +
答案 2 :(得分:2)
简短答案:
for i in $(redis-cli KEYS '*'); do echo $i; redis-cli GET $i; done
好答案:
要获取所有密钥:
redis-cli KEYS '*'
获取键的值:
redis-cli GET <your-key>
,如果需要所有值:
for i in $(redis-cli KEYS '*'); do redis-cli GET $i; done
最后是所有键和值:
for i in $(redis-cli KEYS '*'); do echo $i; redis-cli GET $i; done