我遇到了一种情况,我需要记录用户的统计数据(即记录用户查看的页数)。由于资源有限和视图量大,我无法直接将数据记录到数据库中。
我的解决方案版本是将统计数据保存到会话中,然后每10分钟将统计数据记录到数据库中。但是如果用户在这10分钟的“检查点”之间关闭浏览器会发生什么? PHP脚本有没有办法在没有用户在线的情况下检查会话?
答案 0 :(得分:3)
使用Custom session handlers。通过实现SessionHandlerInterface类,您可以更改会话 destroy 和 close 函数的默认行为。因此,只要会话关闭或销毁,您就可以保存数据。
答案 1 :(得分:1)
我会像Redis一样在内存中使用nosql DB,因为他可以在每个视图上记录统计信息,然后定期将这些数据聚合到一个mysql表中。