[REDIS] 레디 스에 만료되지 않는 키 찾기
REDIS레디 스에 만료되지 않는 키 찾기
내 설정에서, 정보 명령 쇼 나 다음을 :
[keys] => 1128
[expires] => 1125
나는 만료 날짜없이 그 3 키를 찾을 싶습니다. 난 이미 아무 소용로 문서를 확인했습니다. 어떤 아이디어?
해결법
-
==============================
1.지금은 찾을 수없는 사이트에서 수정.
지금은 찾을 수없는 사이트에서 수정.
redis-cli keys "*" | while read LINE ; do TTL=`redis-cli ttl "$LINE"`; if [ $TTL -eq -1 ]; then echo "$LINE"; fi; done;
편집 : 참고,이 블로킹 호출이다.
-
==============================
2.웨인 루의 대답 실행하지만 레디 스에 대해 경고하는 레디 스 KEYS 명령을 사용합니다 :
웨인 루의 대답 실행하지만 레디 스에 대해 경고하는 레디 스 KEYS 명령을 사용합니다 :
레디 스 문서는 스캔을 사용하는 것이 좋습니다.
redis-cli --scan | while read LINE ; do TTL=`redis-cli ttl "$LINE"`; if [ $TTL -eq -1 ]; then echo "$LINE"; fi; done;
특정 키 패턴을 검색하려면, 사용 :
redis-cli --scan --pattern "something*"
-
==============================
3.경우에는 누군가가 나쁜 인수 또는 인수 오류 번호를 잘못 받고있다 $ LINE 주위에 따옴표를 넣어.
경우에는 누군가가 나쁜 인수 또는 인수 오류 번호를 잘못 받고있다 $ LINE 주위에 따옴표를 넣어.
그래서, 그것은 것
redis-cli keys "*" | while read LINE ; do TTL=`redis-cli ttl "$LINE"`; if [ $TTL -eq -1 ]; then echo "$LINE"; fi; done;
키에 공백이있을 때 발생합니다.
-
==============================
4.
#!/usr/bin/env python import argparse import redis p = argparse.ArgumentParser() p.add_argument("-i", '--host', type=str, default="127.0.0.1", help="redis host", required=False) p.add_argument("-p", '--port', type=int, default=6379, help="redis port", required=False) p.add_argument("-n", '--db', type=int, default=0, help="redis database", required=False) args = p.parse_args() r = redis.Redis(host=args.host, port=args.port, db=args.db) try: keys = r.keys() for key in keys: if r.ttl(key) < 0: print(key) except KeyboardInterrupt: pass
from https://stackoverflow.com/questions/9817951/finding-non-expiring-keys-in-redis by cc-by-sa and MIT license
'REDIS' 카테고리의 다른 글
[REDIS] 레디 스에 대량의 인제 스트 (0) | 2020.01.04 |
---|---|
[REDIS] 어떻게 레디 스에서 /로 설정 / GET pandas.DataFrame에? (0) | 2020.01.04 |
[REDIS] 어떻게 레디 스 데이터베이스 사이에 변경합니까? (0) | 2020.01.04 |
[REDIS] 레디 스 키에 대한 협약 및 유효한 문자 명명 (0) | 2020.01.04 |
[REDIS] 빈 / 레디 스에서 세트를 삭제 하시겠습니까? (0) | 2020.01.04 |