Как управлять файловым кешем Laravel для нескольких арендаторов с использованием одной и той же кодовой базы

Laravel: 5.6 Php: 7.1

У меня есть приложение для нескольких арендаторов (платформ) с единой кодовой базой и использованием файлового кеша. Мне нужно обработать удаление кеша для конкретной платформы.

Я попытался установить путь хранения конфигурации кеша во время выполнения, чтобы установить разные пути кеша по отношению к платформам. Но он получил настройки по умолчанию из config/cache.php, когда я пытаюсь поместить кеш, используя следующий метод

Cache::store('file')->put($key, $data, CACHE_MINUTES);

person Abdul Samad    schedule 27.06.2018    source источник
comment
Я бы изменил ключи на что-то конкретное для арендатора. Так, например, добавьте префикс к ключам кеша, который уникален для каждого клиента.   -  person Tuim    schedule 27.06.2018
comment
@Tuim спасибо за ваш ответ, но я думаю, что префикс работает только с использованием APC или Memcached. Однако я использую кеш на основе файлов.   -  person Abdul Samad    schedule 27.06.2018
comment
$key = $tennant->id.'-'.$key Полагаю, что-то вроде этого сработает.   -  person Tuim    schedule 27.06.2018


Ответы (1)


Как вы устанавливаете конфигурацию кеша? Это как

config(['cache.stores.file.path'=>$tenantPath]);
Cache::store('file')->put($key, $data, CACHE_MINUTES);
person kingshark    schedule 27.06.2018