So implementieren Sie geplante Aufgaben in PHP Redis: 1. Ändern Sie den Inhalt der Konfigurationsdatei redis.conf in „notify-keyspace-events „Ex““ 2. Starten Sie den Redis-Dienst neu 3. Übergeben Sie „object; Redis)#1( 0){}string(22) „__keyevent@*__:expired“string(22) „__keyevent@0__:expire…“ Implementieren Sie einfach geplante Aufgaben
php + Redis, um geplante Aufgaben zu implementieren Aufgaben
Änderung Ändern Sie die Konfigurationsdatei redis.conf
; notify-keyspace-events ""
Hinweise:
1. Normale Linux-Konfiguration
2. Konfigurieren Sie unter Windows, „notify-keyspace-events“ hat nicht das vorherige Standardmäßig können Sie den Kommentar hier ändern oder die aktuelle Zeile auskommentieren. Suchen Sie nach dem Kommentar und öffnen Sie ihn vor „Notify-Keyspace-Events“
3. Starten Sie den Redis-Dienst neu demo.php
notify-keyspace-events "Ex"
Test starten
php demo.php
Ergebnis nach 3 Sekunden
<?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); }
redis-cli
object(Redis)#1 (0) { } string(22) "__keyevent@*__:expired" string(22) "__keyevent@0__:expired" string(2) "k1"
Das obige ist der detaillierte Inhalt vonSo implementieren Sie geplante Aufgaben in PHP Redis. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!