Php 最佳实践:过去30天的浏览/点击次数

Php 最佳实践:过去30天的浏览/点击次数,php,mysql,Php,Mysql,我意识到有很多方法可以做到这一点,所以在我开始之前,我想从一些有这类任务经验的人那里得到一些信息 我有一个MySQL表,有1000次下载。每次下载都有一个列,其中包含下载总数 我想做的是使它更具动态性,从而将这个数字转换为过去30天的下载次数 所以我基本上想用每个下载ID和30列过去30天的下载数据制作一个新表。用PHP把这些放在一起,然后用它下降。或者我可以使用上一个表中的“添加数据”字段,将下载总数除以给定下载的在线天数 如果不是完全不同的解决方案,您会推荐什么解决方案?这取决于您的具体需求

我意识到有很多方法可以做到这一点,所以在我开始之前,我想从一些有这类任务经验的人那里得到一些信息

我有一个MySQL表,有1000次下载。每次下载都有一个列,其中包含下载总数

我想做的是使它更具动态性,从而将这个数字转换为过去30天的下载次数

所以我基本上想用每个下载ID和30列过去30天的下载数据制作一个新表。用PHP把这些放在一起,然后用它下降。或者我可以使用上一个表中的“添加数据”字段,将下载总数除以给定下载的在线天数


如果不是完全不同的解决方案,您会推荐什么解决方案?

这取决于您的具体需求和系统负载

你只需要上个月的结果吗?每月运行一次重置此值的cronjob。如果您需要一个跟踪平均值(总是过去30天),那么您的mysql方法肯定会起作用,但是30个字段可能有点过头了

两种解决方案:

  • 每个download有3个字段:Todays counter,一个包含 30个元素的json数组,今天平均30天。权贵 regularry(午夜)可以将数据从每日计数器中移出 删除最早的条目并更新平均值。 这样,您将在操作期间拥有最小的系统负载

  • 将NoSQL-like Redis与每日计数器一起使用,并为每个计数器指定一个 超时30天。这样你就可以随时总结任何东西 下载文件所需的数据,甚至不需要触摸您的 数据库