我在laravel项目的管理侧栏中遇到问题,我使用zizaco / entrust包来获取权限和角色。 如果我以管理员身份登录,我会在调试器栏中看到134个调用的查询和15.27 MB的内存使用情况。
我评论侧栏中的一些行,检查用户权限,从134减少到57,从15.27减少到13.54 MB。
注意我在Redis中缓存了权限。这是我的代码,我如何减少查询和内存使用。
<ul class="navigation navigation-main navigation-accordion">
<li><a href="{{ url('admin') }}"><i class="icon-home4"></i> <span>Dashboard</span></a></li>
@foreach($admin_side_menu as $pers)
@ability(['owner','admin'], $pers->name)
<li class="{{ (strpos( $currnt_page, strtolower($pers->as)) !== false) ? "active" : "" }}">
<a {!! count($pers->children) > 0 ? 'class="has-ul"' : '' !!} href="{{ url(config('app.admin_prefix') . '/' . $pers->route) }}">{!! $pers->icon != null ? '<i class="'.$pers->icon.'"></i>' : '<i class="icon-home4"></i>' !!} <span>{{ $pers->display_name }}</span></a>
@if (count($pers->children) > 0)
<ul>
@foreach($pers->children->where('appear', '1') as $subpers)
@ability(['owner','admin'], $subpers->name)
<li class="{{ ($currnt_page == $subpers->as) ? "active" : "" }}"><a href="{{ url(config('app.admin_prefix') . '/' . $subpers->route) }}">{{ $subpers->display_name }}</a></li>
@endability
@endforeach
</ul>
@endif
</li>
@endability
@endforeach
当我评论时:
@ability(['owner','admin'], $pers->name)
@ability(['owner','admin'], $subpers->name)
@endability
@endability
查询调用和内存使用量减少但我想要更多。
答案 0 :(得分:0)
请使用以下链接。 “https://laravel.com/docs/5.5/mix”。
它减少了运行项目时调用的所有查询。它是模块中的laravel build,可以减少加载项目并快速打开项目。