在PL/SQL应用程序中缓存图片
作者: 戴羽, 出处:IT专家网, 责任编辑: 李书琴,
2008-05-13 09:27
对于要使用大量存储在数据库中图片的项目来说,要解决这个缓存问题,可以使用Java将这些图片写到文件系统上,这样Apache就可以以被缓存的方式来使用它们了。
图1
如果你在使用Oracle HTTP服务器(Apache+mod_plsql),那么添加下面的代码到你的Database Access Descriptor(数据访问描述符,DAD)中,然后启动OHS来应用你的改变:
PlsqlCGIEnvironmentList HTTP_IF_NONE_MATCH
PlsqlCGIEnvironmentList IF_MODIFIED_SINCE
OK,现在看下代码:
图2
27-35行很重要,我们确定这个图片/文件是否改变了,并简单地返回一个304状态代码,而不是图片本身。注意我通过连接主键和最近更新/创建的日期(格式化为具有时间的Julian日期)来构建Etag头。这意味着如果这个图片或文件被更新了,那么日期就会改变,从而改变Etag。这反过来使你的浏览器可以下载更新的版本。
IT专家网原创文章,未经许可,严禁转载!

