我想找到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;
我做错了什么?有更好的方法吗?
答案 0 :(得分:0)
远程调用不起作用,因为您将 bash 脚本粘贴到redis-cli的提示符中。
另外,尝试在条件表达式上使用它:[[ $TTL -eq -1 ]]
(改为两个括号)。
答案 1 :(得分:0)
您可以尝试FastoRedis或FastoNoSQL