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

藏色散人
藏色散人original
2022-10-24 09:39:221436parcourir

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

Comment implémenter des tâches planifiées dans php redis

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(&#39;192.168.31.111&#39;, &#39;6379&#39;);
$redis->setOption(Redis::OPT_READ_TIMEOUT, -1);
$redis->setEx(&#39;k1&#39;, 3, 5); // 3 秒过期
//$redis_db = &#39;0&#39;; // 监听 0 号库
$redis_db = &#39;*&#39;; // 监听所有库
$redis->psubscribe([
    &#39;__keyevent@&#39; . $redis_db . &#39;__:expired&#39;
], &#39;keyCallback&#39;);
// 回调方法
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!

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn