1.修改redis 配置
开启redis.conf 文件中 notify-keyspace-events Ex
或者 在redis-cli 客户端输入如下命令:config set notify-keyspace-events Ex
2.修改laravel database.php
//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,//长连接不要断
],
]
3.在脚本的地方实现监听方法
$redis=Redis::connection('publisher');//创建新的实例
$redis->psubscribe(['__keyevent@*__:expired'], function ($message, $channel) {
echo $channel.PHP_EOL;//订阅的频道
echo $message.PHP_EOL;//过期的key
echo '---'.PHP_EOL;
});
**粗体** _斜体_ [链接](http://example.com) `代码` - 列表 > 引用
。你还可以使用@
来通知其他用户。