webman 如何遍历session 让过期的session 主动删除,或者定时任务主动删除某些自己想删除的登录信息

a178251115

问题描述

这里写问题具体描述

345 1 1
1个回答

北月

虽然不知道这样做的好处是什么,不过你确实可以执行 Session::gc() 来实现主动删除过期的 session

<?php
namespace process;

use Workerman\Timer;
use function config;
class SessionGcTask
{
    public function onWorkerStart(): void
    {
        Timer::add(600, function () {
            $config = config('session');
            $handler = $config['handler'];
            /** @var $sessionHandler \Workerman\Protocols\Http\Session\SessionHandlerInterface */
            $sessionHandler = new $handler();
            $sessionHandler->gc($config['lifetime']);
        });
    }
}

相关链接:

  1. Session配置文件
  2. Session::gc()
🔝