2013-01-24 35 views
0

我正在创建一个依赖于登录用户的很多信息的动态图像,但有这么多的用户在线,图像系统正在使用我的网站主机分配给我的大量资源。浏览器临时缓存

有没有办法告诉浏览器临时缓存图像?与临时Cookie类似?

该图像包含数字(如帖子数和其他频繁递增的数字),这些数字可能导致浏览器的自动缓存图像在潜在每次页面加载时重新下载图像。我不介意一点点误差,以节省大量的处理对我的服务器

回答

1

[编辑] 浏览器已经做了缓存内容(除非明确告知不这样做),如果它检测到上次修改的更改,然后重新加载它。

我在猜测您生成的图像要么是a)要通过特定的php脚本()返回浏览器()或b)暂时存储但正在更新,因此浏览器将检索更新后的版本。

如果您正在输出一个基于动态生成内容的图像,您可以暂时将其写入一个目录,然后根据预定义的时间段拉取图像,如果其有效。

if(file_exists($file) && filemtime($file) <= time()-60*20) { 
    // Regenerate image 
} else { 
    // Load image from cache 
} 

上述示例在20分钟内不会重新生成图像。

+0

我将用我的相关信息更新我的问题 – pathurs

+0

完全按照我想要的方式工作 – pathurs

+0

作为补充说明:通过为特定变量(如id-personsname-postcount.jpg)指定名称来存储图像,因此,如果用户更改任何后期变量文件名会改变,显然它不会存在,因此重新生成图像。 –