我有一个非常小的数据保存在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 -1smembers <key>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)
使用redis >= 5.x,stream引入了新的数据类型。所以
> type <key>
Run Code Online (Sandbox Code Playgroud)
应该给你stream。要获取其值:
> XRANGE <key> - +
Run Code Online (Sandbox Code Playgroud)