PHP redis에서 예약된 작업을 구현하는 방법: 1. 구성 파일 redis.conf의 내용을 "notify-keyspace-events "Ex""로 수정합니다. 2. redis 서비스를 다시 시작합니다. 3. "object(Redis)를 전달합니다. #1(0) {}string(22) "__keyevent@*__:expired" string(22) "__keyevent@0__:expire..." 예약된 작업만 구현하세요.
이 튜토리얼의 운영 환경 : windows7 시스템, PHP8. 버전 1, Dell G3 컴퓨터
PHP Redis로 예약된 작업을 구현하는 방법
php + redis로 예약된 작업 구현
redis.conf
; notify-keyspace-events ""
to
notify-keyspace-events "Ex"
참고:
1 .Linux 일반 구성
2. 창에서 구성하면 `notify-keyspace-events ""`에는 기본적으로 이전 주석이 없습니다. 여기에서 직접 수정하거나 현재 주석을 달 수 있습니다. 줄에서 `; inform- keyspace-events "Ex"`를 찾습니다. 이전 댓글 열기
3. redis 서비스를 다시 시작합니다
php 데모.php
<?php $redis = new Redis(); $redis->connect('192.168.31.111', '6379'); $redis->setOption(Redis::OPT_READ_TIMEOUT, -1); $redis->setEx('k1', 3, 5); // 3 秒过期 //$redis_db = '0'; // 监听 0 号库 $redis_db = '*'; // 监听所有库 $redis->psubscribe([ '__keyevent@' . $redis_db . '__:expired' ], 'keyCallback'); // 回调方法 function keyCallback($redis, $pattern, $channel, $msg) { var_dump($redis); var_dump($pattern); var_dump($channel); var_dump($msg); }
테스트 시작
php 데모.php
결과 3초 후
object(Redis)#1 (0) { } string(22) "__keyevent@*__:expired" string(22) "__keyevent@0__:expired" string(2) "k1"
redis-cli
setex foo 3 bar
권장 학습: "PHP 비디오 튜토리얼"
위 내용은 PHP Redis에서 예약된 작업을 구현하는 방법의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!