PHP redis에서 시간을 설정하는 방법: 1. 생존 시간을 취소하고 키의 생존 시간을 영구(PERSIST)로 설정합니다. 코드는 [PERSIST session:captcha]입니다. 2. TTL 명령을 사용하여 생존 시간을 확인합니다. 코드는 [TTL 세션:captcha]입니다.
PHP Redis에서 시간을 설정하는 방법:
Redis는 생존 시간을 지정하지 않으면 생존 시간이 영구적입니다. Redis는 시간이 만료된 후 이 키를 자동으로 삭제합니다. EXPIRE 명령을 사용할 수 있습니다. 시간 단위는 초입니다. 키의 수명이 제한되어 있으면 SET 키가 다시 할당되면 다시 영구적으로 설정됩니다.
SET session:captcha sd2a EXPIRE session:captcha 600
수명을 취소하고 수명을 변경하세요. key 영구로 설정, 즉 PERSIST:
PERSIST session:captcha
TTL 명령을 사용하여 키의 생존 시간을 확인합니다. -1은 만료 후 영구 또는 삭제됨을 의미합니다.
TTL session:captcha
Redis의 INCR, LPUSH, HSET, ZREM 및 기타 명령 중에는 생존 시간이 변경되지 않습니다.
시간을 밀리미터 단위까지 정확하게 제어하려면 PEXPIRE가 필요하며, PTTL을 사용하여 남은 시간을 확인하세요.
만료 시간이 몇 초인지가 아니라 만료 시간을 부여하고 싶다면 어떻게 해야 하나요? EXPIREAT 및 PEXPIREAT가 필요합니다. EXPIREAT의 매개변수는 만료 타임스탬프(초)이고 PEXPIREAT의 매개변수는 만료 타임스탬프(밀리초)입니다.
SET session:captcha sd2a EXPIREAT session:captcha 1399902009 PEXPIREAT session:captcha 1399902009000
애플리케이션 시나리오 1: 액세스 빈도 제한: 각 사용자가 페이지당 분당 10개의 항목만 탐색하도록 제한합니다. 의사 코드는 다음과 같습니다.
$isExists = EXISTS limit:user1:192.168.1.2 if($isExists){ $num = INCR limit:user1:192.168.1.2 if($num > 10){ print '超过限制' exit } }else{ MULTI INCR limit:user1:192.168.1.2 EXPIRE limit:user1:192.168.1.2 60 EXEC }
트랜잭션을 사용하는 이유는 INCR Limit:user1:192.168.1.2를 실행한 후 EXPIRE Limit:user1:192.168.1.2 60을 실행하기 전에 클라이언트가 닫히기 때문입니다. 그러면 키와 값이 유지됩니다. 그리고 이 아이디는 평생 10번만 접속이 가능합니다. 안됐네요.
프로그래밍 학습에 대해 더 자세히 알고 싶다면 php training 칼럼을 주목해주세요!
위 내용은 PHP는 설정된 시간을 Redis로 설정합니다.의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!