WebApp Insight: 最近访客

@ 2010-01-26 22:38:21
标签:

    有时我们希望知道有谁最近访问了当前页面。可以用下面的数据表实现。

    字段 用途
    page 被访页面
    user 访问用户
    ip IP地址
    created 创建时间
    updated 更新时间
    • 用 page + user 组成 Unique Index

    可以简单地记录访问用户

    INSERT INTO page_view (page, user, ip, updated) VALUES ('page id', 'user id', 'IP', NOW())
         ON DUPLICATE KEY UPDATE ip='IP', updated=NOW()
    

    显示最近访问用户时(比如最近的13位),则查询如下

    SELECT DISTINCT * FROM page_view ORDER BY updated LIMIT 0,13
    

    另外,我们还需要定期清理冗余数据。可以在每次查询时进行,也可以后台定期执行。

    # 删除 7 天前的访问数据
    DELETE  FROM page_view WHERE updated < DATE_SUB(NOW(), INTERVAL 7 DAY)
    

    标签:

      分享到:
      comments powered by Disqus

      25/28ms