【发布时间】:2015-08-16 12:07:15
【问题描述】:
我想找到 TTL 为 -1 的任何/所有 redis 键。那是每个未设置为过期的密钥。我尝试了几个 GUI 客户端,但似乎都没有关闭此功能。
我发现this answer 似乎提供了一种从命令行执行此操作的方法。但是,当我在本地或远程 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;
我做错了什么?有没有更好的方法来做到这一点?
【问题讨论】: