У меня есть laravel (7.x) приложение. Я недавно добавил функциональность кеша для повышения производительности. После реализации функции кеширования у меня возникли проблемы с разбивкой на страницы при загрузке данных в формате сетки, поэтому я поискал в поиске решения и обнаружил это Разбиение на страницы с кешем в Laravel.
Хотя, это действительно решило мою проблему. Но дело в том, что у меня есть около 100 страниц, и благодаря найденному решению каждая страница имеет свой собственный кэш. Теперь, если я создаю или обновляю какую-либо запись, она не отражается в сетке, потому что данные загружаются из кеша.
PostController. php:
...
$arraySearch = request()->all();
# calculating selected tab
$cache = (!empty(request()->inactive)) ? 'inactive' : 'active';
$cacheKey = strtoupper("{$this->controller}-index-{$cache}-{$arraySearch['page']}");
# caching the fetch data
$arrayModels = cache()->remember($cacheKey, 1440, function() use ($arraySearch) {
# models
$Post = new Post();
# returning
return [
'active' => $Post->_index(1, 'active', $arraySearch),
'inactive' => $Post->_index(0, 'inactive', $arraySearch),
];
});
...
Post. php:
public function _index($status = 1, $page = null, $arraySearch = null)
{
...
$Self = self::where('status', $status)
->orderBy('status', 'ASC')
->orderBy('title', 'ASC')
->paginate(10);
...
return $Self;
}
Как сделать Я очищаю весь этот кэш, чтобы показать вновь созданную или обновленную запись с обновленными значениями .?