redis setex过期事件监听

更改redis的配置项
这里需要配置 notify-keyspace-events 的参数为 “Ex”。
x 代表了过期事件。notify-keyspace-events “Ex” 保存配置后,重启Redis服务,使配置生效。

public function index() {
        if (is_cli() == FALSE) exit;
        ini_set('default_socket_timeout', -1);
        $redis = new RedisService();
        $redis->select('15');
        $redis->setOption(\Redis::OPT_READ_TIMEOUT, -1);

        $redis->psubscribe(array('__keyevent@15__:expired'), function ($redis, $pattern, $channel, $msg) {
            log_message('info', 'task---------------' . $msg);
        });
}

监听过期事件的方法,通过linux的nohup php index.php task2 index &指令运行在服务器后台来监听。

posted @ 2020-10-24 17:50  陈华波  阅读(449)  评论(0)    收藏  举报