2009-09-04 154 views
8

用户配置文件图像存储在单独的文件服务器中,我正在考虑将它们缓存在memcached中。 memcached服务器在应用程序本地,每个图像小于1MB。缓存Memcached中的图像

但我看到here使用memcached的图像是一个坏主意。是不是真的?我真的不相信。

任何最佳实践和建议?我正在使用SpyMemcached Java客户端。

回答

5

Linux会自动缓存从磁盘读取的文件。像Squid这样的缓存代理也擅长缓存图像。

所以......当然有更好的工具。另一方面,nginx最近增加了对memcached的支持。没有语境,就很难判断这个建议。

它们可能意味着“不要通过PHP脚本从memcached提供图像”,在这种情况下,它们绝对正确 - PHP会增加大量开销。但我不一定会看到如何使用Nginx的内存缓存功能来存储和提供图像将是一件坏事。编号:facebook may have cached profile images in memcached在一个点上。

+1

我已经在为我的应用程序使用memcached并存储了很多东西,因此,试图使用Memcached来获取图像而不是使用其他方式意味着缓存文件。 – Langali 2009-09-04 17:10:19

+0

被警告:apache可以在不到PHP框架启动的时间内从磁盘提供图片。 你自己的基准,但你会发现网络服务器真的很擅长提供平面文件。 – 2009-09-04 22:27:11

+0

我在3个tomcat实例前面有3个apache服务器,与一个单独的文件服务器交谈。理想情况下,我只是将其卸载到CDN或甚至将本地存储到apache,但我需要保护基于角色的这些映像的访问权限。这限制了我从tomcat服务器。因此,在同一网络中的分布式缓存就是为什么Memcached对我有意义。 我会看看我的基准测试所说的。 – Langali 2009-09-05 00:09:10