我有一个复杂的菜单,我必须为菜单的第一列中的每个菜单项生成三个新菜单(像amazon一样),我生成菜单的部分相当简单,但因为我&# 39;当我生成菜单时处理大量数据时,执行它的速度非常慢,并且该菜单出现在每个页面上,因此它会对页面加载产生巨大影响。
我想要做的是只生成一次div然后只打印它,而不是在每次刷新页面时生成它。解决这个问题的最佳方式是什么?
答案 0 :(得分:1)
使用缓存机制缓存菜单生成。
假设您有一个函数generateMenu(),并且您想使用apc缓存:
if (!apc_exists('menu')) {
$menuData = generateMenu();
apc_store('menu', $data); // cache store only once
} else {
$menuData = apc_fetch('menu'); //loads menu from cache
}
var_dump($menuData);