当前位置:  开发笔记 > 编程语言 > 正文

使用memcached扩展以存储gzip压缩文件

如何解决《使用memcached扩展以存储gzip压缩文件》经验,为你挑选了1个好方法。

我有一个Web服务,为浏览器提供javascript源文件.javascript文件是由php实时编译的,包含一些文件.生成的文件每天只更改几次.它在被提供给浏览器之前被apache压缩.

我想使用memcached从内存中提供服务,以避免磁盘和cpu加载文件包含和重复gzip.

我的问题是如何在memcached中压缩和存储javascript文件并提供它(来自php)?

在我看来,如果文件不在存储中,我应该通过include获取文件,获取输出缓冲区,gzip并将其存储在memcached中.我对么?是否有一些标题我应该添加到输出或我应该做的其他任何事情,以使结果与我的apache当前服务的gzip文件兼容?

更新:我没有提到该文件有多个由url参数控制的变体,这会导致包含不同的def文件.如上所述,每个变化都是静态的.



1> Javier..:

最好是使用适当的工具来完成它们的设计任务.

在您的情况下,您有一个缓慢变化的文件,将静态提供.我的意思是它不依赖于查询,但对于每个查询在其有效时间内它是相同的.

为此,请使用良好的缓存Web服务器或将缓存/负载均衡器放在服务器前面.无论是Squid,Varnish还是NginX都可以.事实上,其中任何一个都可以像memcached一样快速地提供静态文件.只要确保自己压缩文件并像这样服务它.

memcached以写入速度,而不是服务来击败其中任何一个.因此,对于随查询参数而变化的内容,它是最佳答案,因此必须不断生成和过期(并重叠).

由于您只会压缩和写入文件几次,因此压缩/写入时间无关紧要.之后,多级缓存将为您带来最佳性能.

另请注意,由于mencached不是Web服务器,因此它的缓存不像客户端那样"关闭",因为它可以取消任何假设的读取性能优势

推荐阅读
云聪京初瑞子_617
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有