2013-04-06 65 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