通过表格进行HTTP缓存最新修改时间

时间:2012-11-18 14:31:32

标签: http postgresql caching

我有一个我希望缓存的页面,页面显示最近评论列表和最近帖子列表(均来自数据库)

我计划在Last-Modified中使用HTTP Headers来实施缓存,方法是将Last-Modified设置为我的数据库中最新的updatedat时间戳字段

要获取最新修改时间,请使用

等查询
SELECT updatedat from comments, articles ORDER BY updateat DESC LIMIT 1

高效吗?

然后,我会将请求的If-Modified-SinceDB's (updatedat field)中的最新时间戳进行比较,以确定天气以重新加载数据,或者只将标题类型设置为Not Modified (304)

1 个答案:

答案 0 :(得分:2)

在相关列上放置索引(updatedat),然后使用MAX函数。

SELECT MAX(joint.updatedat) FROM (
    SELECT MAX(a.updatedat) updatedat FROM articles a
    UNION
    SELECT MAX(c.updatedat) updatedat FROM comments c
    ) joint;

确保查询列在两个表中都有索引。