Maison > base de données > Redis > Comment implémenter des tâches planifiées dans php redis

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

王林
Libérer: 2023-05-26 23:57:21
avant
4333 Les gens l'ont consulté

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 les tâches planifiées

php + redis pour implémenter les tâches planifiées. tâches

Modification Modifiez le fichier de configuration redis.conf

; notify-keyspace-events ""
Copier après la connexion

en

notify-keyspace-events "Ex"
Copier après la connexion

Remarques :

1. Configuration Linux normale

2. Configurez sous Windows, `notify-keyspace-events ""` n'a pas le précédent. commenter par défaut, vous pouvez choisir de le modifier directement ici ou de commenter la ligne actuelle, rechercher et ouvrir le commentaire devant `; notify-keyspace-events "Ex"`

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);
}
Copier après la connexion

Démarrer 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"
Copier après la connexion

redis-cli

setex foo 3 bar
Copier après la connexion

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!

Étiquettes associées:
source:yisu.com
Déclaration de ce site Web
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
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal