Laravel缓存DatabaseStore清理

时间:2018-10-10 08:19:12

标签: caching store scheduler laravel-5.6

我使用缓存DatabaseStore通过Laravel Scheduler管理互斥文件。

我稍微修改了app / Console / Kernel.php来使它工作。

protected function defineConsoleSchedule()
{
    $this->app->bind(SchedulingMutex::class, function() {
        $container = Container::getInstance();
        $mutex = $container->make(CacheSchedulingMutex::class);
        return $mutex->useStore('database');
    });

    parent::defineConsoleSchedule();
}

我需要它能够在多个服务器上运行调度程序,但是它需要具有共享存储。由于我对所有服务器都有不同的Redis实例,因此我决定使用开箱即用的数据库缓存存储。 一切正常,但是即使缓存过期后,存储所有内容的名为 cache 的数据库表也无法清除。

这是桌子上的一些元组:

key                                         value  expiration
laravelframework/schedule-015655105069...   b:1;   1539126032
laravelframework/schedule-015655105069...   b:1;   1539126654

第一个有效期为1539126032(2018-10-09 23:00:32),当前时间为2018-10-10 08:09:45。我希望它会被清理。

问题是-我应该实现一些东西来维护该表还是Laravel应该处理它?如果这是Laravel的职责,我在做什么错了?

0 个答案:

没有答案