2015-06-02 13 views
5

Tôi muốn tìm bất kỳ/tất cả các phím redis có TTL là -1. Đó là mọi khóa không được đặt hết hạn. Tôi đã thử một vài khách hàng GUI và không ai trong số họ dường như tắt chức năng này.Cách tìm các phím redis bằng TTL

Tôi tìm thấy this answer xuất hiện để cung cấp cách thực hiện từ dòng lệnh. Nhưng tôi nhận được "không hợp lệ đối số" lỗi khi tôi thử nó tại địa phương hoặc trên máy chủ redis từ xa của tôi.

ĐỊA PHƯƠNG 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;

Tôi đang làm gì sai? Có cách nào tốt hơn để làm điều này?

Trả lời

0

Gọi từ xa sẽ không hoạt động vì bạn đang dán bash tập lệnh vào lời nhắc của redis-cli.

Ngoài ra, cố gắng sử dụng này trên biểu thức điều kiện: [[ $TTL -eq -1 ]]

(hai dấu ngoặc thay).

+0

Không có tập lệnh cục bộ nào cũng không hoạt động. Đó là một lỗi tương tự về các đối số – emersonthis

+0

Có lẽ địa phương không hoạt động vì 0 kết quả trên địa phương của tôi? Tôi không biết bash đủ để dự đoán nó sẽ xử lý như thế nào – emersonthis

Các vấn đề liên quan