이 글에서는 모든 사람의 기본적인 이해를 돕기 위해 Redis의 만료 처리 메커니즘에 대한 간략한 개요를 제공합니다.
Redis에는 만료 시간을 설정하는 기능이 있습니다. 즉, Redis 데이터베이스에 저장된 값에 대한 만료 시간을 설정할 수 있습니다. 캐싱 데이터베이스로서 이는 매우 실용적입니다.
예를 들어, 일반 프로젝트의 토큰이나 일부 로그인 정보, 특히 SMS 인증 코드는 시간 제한이 있습니다. 전통적인 데이터베이스 처리 방법에 따르면 일반적으로 만료를 스스로 판단하므로 의심할 여지 없이 프로젝트 성능에 심각한 영향을 미칩니다. (추천 학습: Redis 동영상 튜토리얼)
1. 유효한 시간 설정:
redis의 저장된 값 만료 처리는 실제로 값의 키, 즉 시간 설정을 다룹니다. 또한 키의 유효 시간을 설정합니다. Expires 사전은 모든 키의 만료 시간을 저장하며 만료 필드라고도 합니다.
4가지 처리 전략
EXPIRE 키의 생존 시간을 ttl초로 설정
PEXPIRE 키의 생성 시간을 ttl 밀리초로 설정
EXPIREAT 키의 만료 시간을 타임스탬프로 표시되는 초 수로 설정 타임스탬프
PEXPIREAT는 타임스탬프로 표시되는 밀리초 단위의 타임스탬프에 키의 만료 시간을 설정합니다.
사실 위의 처리 방법은 모두 PEXPIREAT를 기반으로 구현됩니다. 메모리에서 처리되면 최종 처리가 PEXPIREAT로 전송됩니다.
1번과 2번의 두 가지 방법은 인증코드 처리에 가장 많이 사용되는 전략인 만료 시간을 설정하는 것입니다. 3분 또는 5분 후에 만료되도록 설정하고 분을 초 또는 밀리초로 변환하여 저장합니다. 레디스에서.
3번과 4번의 두 가지 방법은 만료 시간을 지정하는 것입니다. 예를 들어 쿠폰의 만료 시간은 특정 연도, 특정 월이지만 단위가 다릅니다.
2. 만료 처리
만료된 키를 처리하는 것은 만료된 키를 삭제하는 것입니다.
Redis에는 예약 삭제, 지연 삭제, 주기적 삭제라는 세 가지 처리 전략이 있습니다.
예약 삭제: 키 만료 시간을 설정할 때 타이머를 생성하고, 만료 시간이 만료되면 즉시 삭제 작업을 수행합니다. 하지만 이 처리 방법은 즉각적이어서 이 시간 내에 만료된 키가 아무리 많아도 현재 서버의 작동 상태와 상관없이 즉시 실행되므로 CPU에 그다지 친화적이지 않습니다.
지연 삭제: 지연 삭제 전략은 키가 만료될 때 즉시 삭제하지 않지만 외부 명령이 키를 획득하면 적극적으로 삭제합니다. 처리 프로세스는 다음과 같습니다. 실행 가져오기, 만료 여부 확인(여기서는 만료로 판단), 삭제 작업 수행, nil(비어 있음) 반환.
정기적 삭제: 주기적 삭제는 시간 간격을 설정하는 것입니다. 각 기간은 만료된 키가 있는지 감지하고, 그렇다면 삭제 작업을 수행합니다. 이 개념은 이해하기 쉬워야 합니다.
더 많은 Redis 관련 기술 기사를 보려면 Redis 시작 튜토리얼 칼럼을 방문하여 알아보세요!
위 내용은 Redis의 유효기간은 어디에서 설정되나요?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!