Redis 키 만료 설정

풀어 주다: 2020-05-21 09:10:37
앞으로
4069명이 탐색했습니다.

Redis 키 만료 설정

EXPIRE 키 초

는 키의 만료 시간을 설정하는 데 사용됩니다. 두 번째 매개변수는 키가 만료되기까지 경과되는 시간(초)을 나타냅니다. 키가 만료되면 해당 키는 자동으로 삭제됩니다. Redis 용어에서는 만료 시간이 있는 키를 휘발성이라고 부르는 경우가 많습니다.

이 키에 삭제 또는 덮어쓰기 작업을 사용하면 만료 시간이 지워집니다. 이러한 작업에는 DEL, SET, GETSET 및 모든 *STORE 명령이 포함됩니다. 값을 수정하는 IINCR, 큐에 새 값을 추가하는 LPUSH, 해시 테이블의 멤버를 수정하는 HSET와 같이 키 값을 수정하는 명령은 만료 시간을 수정하지 않습니다.

만료 시간만 지우고 싶다면 PERSIST 명령을 호출하여 키가 만료되지 않도록 할 수 있습니다. 만료 시간은 키의 속성이며 키 이름 수정(RENAME)으로 인해 변경되지 않습니다. RENAME을 사용하여 다른 키를 덮어쓰면 덮어쓰기 효과만 전달되고 이름이 바뀐 키는 여전히 만료 시간을 유지합니다.

참고: 키에 양수가 아닌 숫자를 사용하여 EXPIRE/PEXPIRE 명령을 호출하거나 과거 시간을 사용하여 EXPIREAT/PEXPIREAT를 호출하면 키가 직접 제거됩니다.

만료 시간 업데이트

만료 시간이 있는 키에 대해 EXPIRE를 호출하면 이 키의 만료 시간을 업데이트할 수 있습니다.

반환 값

EXIRE 키를 호출하면 초가 0 또는 1을 반환합니다. 0은 키가 존재하지 않음을 의미하고 1은 키가 시간 초과로 설정되었음을 의미합니다.

Redis가 만료 시간이 있는 키를 처리하는 방법

만료 시간이 있는 키

일반적인 상황에서 Redis 키는 (DEL 명령을 통해) 키가 삭제되거나 메모리 제약 조건이 지워질 때까지 항상 존재합니다. 키에 대한 시간 초과를 설정하려면 관련 정보를 기록하기 위해 추가 메모리가 필요합니다. Redis는 키가 만료되면 제거되도록 합니다.

만료 시간 정확도

redis2.6부터 만료 시간의 편차는 0~1밀리초입니다.

만료 시간 논리

키의 만료 시간은 Unix 절대 타임스탬프(정밀도는 밀리초)를 사용합니다. Redis 인스턴스가 닫혀도 키는 해당 Unix 타임스탬프에 따라 만료됩니다. 즉시 삭제됨) ).

RDB 파일을 이동하여 한 Redis의 데이터를 다른 컴퓨터의 Redis로 이동하려면 두 컴퓨터의 Unix 절대 타임스탬프가 일치하는지 확인해야 합니다.

키의 만료 시간을 설정한 경우 redis가 시스템 시간을 자주 확인하므로 컴퓨터 시간을 임의로 수정하지 마세요. 시간을 앞으로 조정하면 만료되어야 하는 키가 만료되지 않습니다. 시간을 뒤로 조정하면 만료되어서는 안되는 키가 만료됩니다.

redis가 만료된 키를 정리하는 방법:

redis는 수동 정리와 능동 정리의 두 가지 방법으로 만료된 키를 정리합니다.

(1) 수동 청소: 만료 시간이 있는 키에 액세스할 때 키가 만료된 것으로 확인되면 키가 지워집니다.

(2) redis는 초당 10개의 검사를 수행하며 각 검사에는 다음이 포함됩니다.

  • 만료 시간이 있는 키 20개를 무작위로 선택한 다음 만료된 키를 모두 삭제합니다.

  • 20개 키 중 25% 이상이 만료된 경우 1)단계를 다시 수행하세요.

이것은 간단한 확률 알고리즘입니다. 선택한 키가 만료 시간이 있는 모든 키의 샘플로 사용될 수 있다고 가정합니다. 위의 작업을 통해 기본적으로 시간 초과 기간이 있는 키에 대한 시간 초과된 키의 비율이 25% 미만임을 확인할 수 있습니다. 그러면 정리되지 않은 만료된 키가 차지하는 초과 메모리는 25% 미만이어야 합니다.

복제) 및 AOF 파일에서 만료 정리를 처리하는 방법

일관성을 파괴하지 않기 위해 키가 만료되고 정리되면 DEL 작업이 AOF 파일 및 모든 복제본 노드와 동기화됩니다. 이러한 방식으로 마스터 노드는 만료 정리 작업을 담당합니다. 슬레이브 노드는 키 만료 정리 작업을 처리하지 않고 마스터 노드의 DEL 명령만 기다리므로 마스터 노드의 키 공간과 슬레이브 노드는 일관성을 유지합니다.

더 많은 Redis 지식을 알고 싶다면 redis 입문 튜토리얼 칼럼을 주목해 주세요.

위 내용은 Redis 키 만료 설정의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

관련 라벨:
원천:cnblogs.com
본 웹사이트의 성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.
인기 튜토리얼
더>
최신 다운로드
더>
웹 효과
웹사이트 소스 코드
웹사이트 자료
프론트엔드 템플릿
회사 소개 부인 성명 Sitemap
PHP 중국어 웹사이트:공공복지 온라인 PHP 교육,PHP 학습자의 빠른 성장을 도와주세요!