通过asterix

时间:2018-03-05 02:24:41

标签: laravel

我像这样创建缓存:

    @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和文件驱动程序来保存缓存的项目。

0 个答案:

没有答案