snriud
V2EX  ›  PHP

关于每个主题的浏览次数统计

  •  
  •   snriud · Sep 29, 2016 · 2916 views
    This topic created in 3560 days ago, the information mentioned may be changed or developed.

    我是 PHP 新手,在做一个业余网站的过程中遇到了一个问题:

    每个主题(帖子)都会有对应这个主题的浏览次数统计,比如 V2EX 中的是点击次数,如何能够保证对每个人只进行一次统计呢(不论登录与否,每个客户端的访问只增一次,重复的刷新只作一次自增)?

    我试过了 V2EX 上的,在登录后,每刷新一次就会增 1 ,而不登录的情况下,即使是第一次访问也不会增 1 。

    我目前的思路是将主题的 ID 同用户的 SESSION 绑定在一起,记录某个 SESSION 下访问过的主题 ID ,在收到新的访问请求时先去判断之前是否访问过。这样做是否合理?有没有更好的办法?

    在此先提前谢过各位的回答~

    3 replies    2016-09-30 08:25:19 +08:00
    lygmqkl
        1
    lygmqkl  
       Sep 29, 2016 via iPhone   ❤️ 1
    建立个数据库级的 log 表 session 是有 id 的可以利用下。甚至可以加入一点缓存的思想每 10 分钟清理下 log 更新下数据
    snriud
        2
    snriud  
    OP
       Sep 30, 2016
    @lygmqkl 谢谢您的建议。

    缓存的话您是指把 log 表中的数据读到类似 redis 之类的数据库中以加快访问吗?

    另外,您的 yiilib.com 做得很不错,我加入收藏夹了~~
    lygmqkl
        3
    lygmqkl  
       Sep 30, 2016
    @snriud 其实是个抽象缓存,我是建议每 10 分钟清理下 log(把未增加的数量加上去,然后用过的 log 数据按照某种规则处理掉。)
    About   ·   Help   ·   Advertise   ·   Blog   ·   API   ·   FAQ   ·   Solana   ·   3244 Online   Highest 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 46ms · UTC 12:06 · PVG 20:06 · LAX 05:06 · JFK 08:06
    ♥ Do have faith in what you're doing.