Maison >développement back-end >Problème PHP >Comment implémenter des tâches planifiées dans php redis
Comment implémenter des tâches planifiées dans PHP redis : 1. Modifiez le contenu du fichier de configuration redis.conf en "notify-keyspace-events "Ex"" ; 2. Redémarrez le service redis ; 3. Passez "object(Redis) ; #1(0) {}string(22) "__keyevent@*__:expired" string(22) "__keyevent@0__:expire..." Implémentez simplement la tâche planifiée
L'environnement d'exploitation de ce tutoriel : système Windows7, PHP8. Version 1, ordinateur Dell G3
Comment implémenter des tâches planifiées avec php redis
php + redis pour implémenter des tâches planifiées
Changer le fichier de configuration redis.conf
; notify-keyspace-events ""
en.
notify-keyspace-events "Ex"
Remarque :
1 .Configuration normale de Linux
2. Configurez sous Windows, `notify-keyspace-events ""` n'a pas de commentaires précédents par défaut. Vous pouvez choisir de le modifier directement ici ou de commenter le courant. et recherchez `; notify- keyspace-events "Ex"` Ouvrez le commentaire précédent
3 Redémarrez le service redis
php demo.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); }
Démarrez le test
php demo.php
Résultat. après 3 secondes
object(Redis)#1 (0) { } string(22) "__keyevent@*__:expired" string(22) "__keyevent@0__:expired" string(2) "k1"
redis-cli
setex foo 3 bar
Recommander l'apprentissage : "Tutoriel vidéo PHP"
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!