开启redis.conf 文件中 notify-keyspace-events Ex
php
或者 在redis-cli 客户端输入以下命令:config set notify-keyspace-events Ex
laravel
//datebase.php配置页面 'redis' => [ 'client' => 'predis', 'default' => [ 'host' => env('REDIS_HOST', '127.0.0.1'), 'password' => env('REDIS_PASSWORD', null), 'port' => env('REDIS_PORT', 6379), 'database' => 0, "queue" => '{default}',//queue站点默认走的redis ], 'publisher' => [ //redis 订阅监听 'host' => env('REDIS_HOST', '127.0.0.1'), 'password' => env('REDIS_PASSWORD', null), 'port' => env('REDIS_PORT', 6379), 'database' => 0, "read_write_timeout"=>0,//长链接不要断 ], ]
$redis=Redis::connection('publisher');//建立新的实例 $redis->psubscribe(['__keyevent@*__:expired'], function ($message, $channel) { echo $channel.PHP_EOL;//订阅的频道 echo $message.PHP_EOL;//过时的key echo '---'.PHP_EOL; });