Apache服务器缓存图像

时间:2009-11-29 22:49:28

标签: php apache image caching memcached

在我的Apache服务器上,我有一个PHP服务,可以获取请求并从中生成图像。我想要做的是在生成后将生成的图像缓存在我的服务器(而不是客户端的浏览器)上,所以如果已生成具有特定参数的图像并且有人请求它,我的Web服务器将返回缓存的图像而不是生成新的。

我知道我可以手动在服务器上存储生成的图像,并检查它们是否存在,然后运行cron任务来删除过期的图像,但我正在寻找更有效的方法。

感谢。

3 个答案:

答案 0 :(得分:1)

您已经提到了最有效的方法。将其存储在磁盘上。你可能会使用像memcache这样的东西,将它存储在memcache中,然后让memcache在一段时间后自动使记录过期。

答案 1 :(得分:1)

就像你说的那样,将它存储在磁盘上并将其读回客户端。 您可以使用ID.ext和ID.date,其中ID.date包含过期日期(在unix时间内)。 然后只比较ID.date中的内容与time()所说的,如果time()大于ID.date,则删除这两个文件并重新生成图像。

答案 2 :(得分:1)

根据您生成图片的方式,您可以使用mod_cache为您进行缓存。