2013-04-06 64 views

回答

3

您的最佳選擇可能是使用像nginx這樣的緩存層用於HTTP通信(作爲apache的代理或作爲主HTTP服務器)。如果你只是想要一個代理,清漆也是一個不錯的選擇。

如果你使用Apache卡住了,這裏是讓基於內存的緩存工作的出發點:http://httpd.apache.org/docs/2.2/caching.html#inmemory

此外,你可能想看看更多的進入你的文件設置緩存頭,以便由多個請求相同的用戶不會意味着更多的文件和網絡IO。這可能比明確緩存內存中的東西更節省,因爲Linux會爲你做一些工作。

+0

我檢查了一些關於stackoverflow的問題,我看到PHP APC至少快了5倍(對於存儲的數據庫結果)。這是真的嗎?我想盡可能加快網站的速度。 – 2013-04-06 19:47:06

+1

@ArturRychlewicz APC不需要通過任何驅動程序或網絡IO,因此使用APC對於某些緩存很有用......如果您有多個PHP進程(可能),則需要在每個進程之前查找這些數據被緩存。安裝APC以加快您的PHP運行時代碼是您絕對應該做的事! – 2013-04-07 04:01:04

2

將其轉換爲字符串,並將其保存在內存緩存

<?php 
    file_get_contents("/path/to/image.jpg"); 
?> 
4

不,沒有,但也爲零必要做這個正確配置的服務器:在服務器將在經常訪問的文件高速緩存已經存在於內存緩衝區中,特別是如果它們是靜態的,並且你的服務器有足夠的內存,那麼它將會停留在那裏很長時間。試圖用Memcache來服務它們會造成更多的開銷,而不是更少。

+0

哦,我不知道。那麼對於那些文件來說最好的解決方案就是不將它們存儲在RAM中手動操作? 我忘了一個問題。將DB結果存儲一段時間(這些結果用於所有用戶)並通過crontab更新它們是一個好主意嗎? – 2013-04-06 19:26:48