Rumah >pangkalan data >Redis >Bagaimana untuk melaksanakan tugas berjadual dalam php redis
Cara melaksanakan tugas berjadual dalam PHP redis: 1. Ubah suai kandungan fail konfigurasi redis.conf kepada "notify-keyspace-events "Ex"" 2. Mulakan semula redis perkhidmatan; 3. Lulus "object(Redis)#1(0){}string(22) "__keyevent@*__:expired"string(22) "__keyevent@0__:expire..." Hanya laksanakan tugasan yang dijadualkan.
php + redis melaksanakan tugas berjadual
Ubah suai fail konfigurasi redis.conf
; notify-keyspace-events ""
kepada
notify-keyspace-events "Ex"
Nota:
1. Konfigurasi normal Linux
2. Konfigurasikan di bawah tingkap, `notify-keyspace-events ""` tidak mempunyai ulasan sebelumnya secara lalai baris semasa, pergi ke Cari `; notify-keyspace-events "Ex"` dan buka ulasan sebelumnya
3 Mulakan semula perkhidmatan 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); }<.>Mulakan ujianphp demo.phpKeputusan selepas 3 saat
object(Redis)#1 (0) { } string(22) "__keyevent@*__:expired" string(22) "__keyevent@0__:expired" string(2) "k1"redis-cli
setex foo 3 bar
Atas ialah kandungan terperinci Bagaimana untuk melaksanakan tugas berjadual dalam php redis. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!