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

sha*_*nuo 36 redis

我有一个非常小的数据保存在redis中,以下工作正常,允许我下载所有密钥.

redis-cli keys * 
Run Code Online (Sandbox Code Playgroud)

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

sep*_*010 95

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

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

> type <key>
Run Code Online (Sandbox Code Playgroud)

并根据响应执行:

  • 为"字符串": get <key>
  • 为"哈希": hgetall <key>
  • 为"列表": lrange <key> 0 -1
  • 为"集": smembers <key>
  • 为"zset": zrange <key> 0 -1 withscores

请记住,对于哈希和排序集,您将获得键/分数和值.


Cle*_*ens 10

简短的回答

for i in $(redis-cli KEYS '*'); do echo $i; redis-cli GET $i; done
Run Code Online (Sandbox Code Playgroud)

长答案

获取所有密钥:

redis-cli KEYS '*' 
Run Code Online (Sandbox Code Playgroud)

获取键的值:

redis-cli GET <your-key>
Run Code Online (Sandbox Code Playgroud)

如果您想要所有值:

for i in $(redis-cli KEYS '*'); do redis-cli GET $i; done
Run Code Online (Sandbox Code Playgroud)

最后是所有的键和值:

for i in $(redis-cli KEYS '*'); do echo $i; redis-cli GET $i; done
Run Code Online (Sandbox Code Playgroud)


Pe *_*Dro 5

使用redis >= 5.xstream引入了新的数据类型。所以

> type <key>
Run Code Online (Sandbox Code Playgroud)

应该给你stream。要获取其值:

> XRANGE <key> - +
Run Code Online (Sandbox Code Playgroud)