Memcached是否缓存静态文件,如images,css,js ..?

时间:2013-04-06 19:20:04

标签: php memcached

我刚刚安装了Memcached,我想知道Memcached是否可以在我的服务器上缓存图像,js,css,字体文件等,或者它只适用于脚本语言?

是自动缓存还是必须配置?

如果没有,我如何使用PHP缓存静态文件(与变量值完全相同?)?

4 个答案:

答案 0 :(得分:4)

不,它没有,但是也没有必要在正确配置的服务器上执行此操作:服务器上经常访问的文件将在缓存中已经/在内存缓冲区中,特别是如果它们是静态的并且您服务器有足够的内存,将在那里停留相当长一段时间。尝试使用Memcache服务它们会产生更多的开销,而不是更少。

答案 1 :(得分:3)

您最好的选择可能是使用nginx之类的缓存层来处理HTTP流量(作为apache的代理或作为主HTTP服务器)。如果您只想要代理,Varnish也是一个不错的选择。

如果您遇到使用Apache的问题,以下是启用基于内存的缓存的起点:http://httpd.apache.org/docs/2.2/caching.html#inmemory

此外,您可能希望更多地了解如何在文件上设置缓存标头,以便同一用户的多个请求不会意味着更多的文件和网络IO。这可能比在内存中显式缓存内容节省更多,因为Linux将为您完成一些工作。

答案 2 :(得分:2)

将其转换为字符串并将其保存在memcache

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

答案 3 :(得分:2)

http://php.net/manual/en/book.memcached.php有文档。 您可以保存二进制数据,但可以有效地存储生成的复杂数据,如DB-results