2017-03-01 8 views
0

我有一個複雜的菜單,我必須爲菜單的第一列(類似於亞馬遜有的)中的每個菜單項生成三個新菜單,並且生成菜單的部分非常簡單,但因爲我在生成菜單時處理大量數據,它的執行速度非常慢,並且該菜單出現在每個頁面上,因此它對頁面加載有巨大的影響。在PHP中只生成和打印整個div的好方法是什麼?

我想要做的只是生成一次div,然後只打印它,而不是在每次刷新頁面時生成它。解決這個問題的最好方法是什麼?

+0

嘗試使用高速緩存或apc_cache內存緩存 –

+0

操作'redis'也是一個很好的候選人 – arkascha

回答

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); 
+0

可能工作得很好,我正在考慮類似的解決方案,但我不知道apc_fetch,謝謝。 –

+0

apc它已經內置,但你可以使用memcache,redis或任何快速鍵值存儲相同的方式 –

相關問題