如何通过TTL查找redis密钥

时间:2015-06-02 15:35:18

标签: linux redis redis-cli

我想找到TTL为-1的任何/所有redis键。那个未设置为过期的密钥。我已经尝试了几个GUI客户端,但似乎没有一个人能够使用这个功能。

我发现this answer似乎提供了一种从命令行执行此操作的方法。但我得到了#34;无效的论证"我在本地或远程redis主机上尝试时出错。

LOCAL redis-cli keys "*" | while read LINE ; do TTL=`redis-cli ttl $LINE`; if [ $TTL -eq -1 ]; then echo "$LINE"; fi; done;

REMOTE $redis-cli -h ... -p ... -a redis>> keys "*" | while read LINE ; do TTL=`redis-cli ttl $LINE`; if [ $TTL -eq -1 ]; then echo "$LINE"; fi; done;

我做错了什么?有更好的方法吗?

2 个答案:

答案 0 :(得分:0)

远程调用不起作用,因为您将 bash 脚本粘贴到redis-cli的提示符中。

另外,尝试在条件表达式上使用它:[[ $TTL -eq -1 ]]

(改为两个括号)。

答案 1 :(得分:0)

您可以尝试FastoRedisFastoNoSQL

enter image description here