#このチュートリアルの動作環境: Windows 7 システム、PHP バージョン 8.1、Dell G3 コンピューター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..." スケジュールされたタスクを実装するだけです。
#php redis はスケジュールされたタスクをどのように実装しますか?
php redis はスケジュールされたタスクを実装します
構成ファイル redis.conf; notify-keyspace-events ""
notify-keyspace-events "Ex"
# に変更します。 ##1.Linux は通常の設定です。
##2. Windows で設定すると、デフォルトでは `notify-keyspace-events ""` には前のコメントがありません。ここで直接変更するか、コメントアウトするかを選択できます。現在の行を検索し、「; Notice -keyspace-events "Ex"」を探します。 前のコメントを開きます。3. Redis サービスを再起動します。php Demon.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); }
object(Redis)#1 (0) { } string(22) "__keyevent@*__:expired" string(22) "__keyevent@0__:expired" string(2) "k1"
setex foo 3 bar
以上がPHP Redisでスケジュールされたタスクを実装する方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。