在命令提示符下获取键和值

时间:2011-11-10 10:22:46

标签: redis

我在redis中保存了一个非常小的数据,以下内容按预期工作,允许我下载所有密钥。

redis-cli keys * 

有没有办法获得键+值*?

3 个答案:

答案 0 :(得分:81)

没有命令,但您可以编写一个脚本来执行此操作。

您需要为每个键执行“type”命令:

> type <key>

并根据响应执行:

  • 代表“字符串”:get <key>
  • 代表“哈希”:hgetall <key>
  • 代表“list”:lrange <key> 0 -1
  • 代表“set”:smembers <key>
  • 代表“zset”: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