我像这样创建缓存:
@foreach ($menu->items as $key => $item)
<div class="{{ $itemclass or 'menu-item'}}">
@switch($item->type)
@case("CustomUrlItem")
<a href="{{ $item->meta }}">{{ $item->title }}</a>
@break
@case("PageItem")
@php
$page = Cache::rememberForever('menu-item-'.$item->meta, function() use($item) {
return Content::find($item->meta);
});
@endphp
<a href="{{ $page->slug }}">{{ $item->title }}</a>
@break
@endswitch
</div>
@endforeach
如果我们专注于这一部分:
@case("PageItem")
@php
$page = Cache::rememberForever('menu-item-'.$item->meta, function() use($item) {
return Content::find($item->meta);
});
@endphp
<a href="{{ $page->slug }}">{{ $item->title }}</a>
@break
当我想删除所有&#39;菜单项的缓存时 - *&#39;我怎么能这样做。
现在,如果我想删除菜单项的缓存 - *
Cache::forget('menu-item-1');
Cache::forget('menu-item-2');
Cache::forget('menu-item-3');
我必须遍历所有menu-item-1,menu-item-2等以删除它们?我可以这样做吗:
Cache::forget('menu-item-*');
这会消除所有menu-item- *缓存?
我正在使用Laravel 5.6和文件驱动程序来保存缓存的项目。