执行第三方映像的服务器端缓存

时间:2016-04-10 22:43:02

标签: caching

我刚刚向my site添加了一些功能,当用户将鼠标悬停在链接上(到第三方页面)时,会从目标页面上的元标记创建链接预览并显示。我担心我目前的实施中热链接的含义。

我现在正在考虑实施某种服务器端缓存,以便第一次预览请求从目标页面获取信息和图像,但是每个后续请求(达到某个年龄限制)都会被提供来自我主机上的缓存。我相信我能够实现自己的一些东西,但对于像这样的东西,是否有现成的解决方案?我是自学成才的,所以我猜我的DIY解决方案不是最优的。感谢。

编辑我实施了一个DIY解决方案(见下文),但我仍然愿意就如何有效完成这项工作提出建议。

1 个答案:

答案 0 :(得分:0)

我无法找到任何现成的解决方案,所以我用PHP编写了一个。

它接受一个URL作为HTTP GET参数并进行一些错误检查。如果错误检查通过,它将从磁盘打开一个JSON编码的数据库,并将数据解析为包含我想要的信息的Record对象数组。提供的URL用作数组键。如果密钥存在于数组中,则返回缓存的信息。否则,将获取网页,解析元标记,在本地保存图像以及返回缓存数据。然后将缓存的信息插入数据库。将缓存的信息返回到请求页面后,将检查每个记录的到期日期,并删除过期的记录。每个缓存记录请求都会延长其到期日期。最后,数据库是JSON编码的并写回磁盘。