我想找到任何/所有带有 TTL 的 redis 键是-1
. 那是每个未设置为过期的密钥。我已经尝试了几个 GUI 客户端,但它们似乎都没有关闭这个功能。
我发现这个答案似乎提供了一种从命令行执行此操作的方法。但是当我在本地或远程 redis 主机上尝试时,我得到“无效参数”错误。
当地的
redis-cli keys "*" | while read LINE ; do TTL=`redis-cli ttl $LINE`; if [ $TTL -eq -1 ]; then echo "$LINE"; fi; done;
偏僻的
$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;
我究竟做错了什么?有一个更好的方法吗?