如何在Laravel Multi Tenancy中使用文件缓存

时间:2019-05-14 09:06:10

标签: php laravel caching multi-tenant

我正在使用以下多租户套餐: https://laravel-tenancy.com/docs/hyn/5.3

Laravel:5.7

我当前通过更改切换事件的配置使缓存租户知道。

Event::listen(Switched::class, function (Switched $event) {
   config(['cache.stores.file.path' => storage_path('framework/cache/' . $event->website->uuid)]);
});

在执行以下命令时效果很好:

php artisan tenancy:run my:caching-command --tenant=2

这不能很好地工作:

php artisan tenancy:run my:caching-command

在这种情况下,仅为第一个租户创建一个缓存目录。在调试它时,我发现实际上已为每个租户正确更新了配置。但是,缓存驱动程序未使用新路径...

有任何想法吗?

1 个答案:

答案 0 :(得分:0)

我需要使用以下方法重建缓存实例:

app()->forgetInstance('cache');

如果稍后在代码中通过app('cache')访问缓存实例,则会使用您当前的配置对其进行重建。