首页 > 解决方案 > 如何在 Laravel 5.4 中以优化的方式保存用户访问

问题描述

我将我的用户访问统计信息保存在 mySQL 数据库中:


我的问题是我的 mySQL 数据库会处理每天 100,0000 次这样的访问量吗?这样保存5年能出问题吗?(每天100000)

如果答案是肯定的,那么优化的方法是什么(我不想清空我的访问表)

标签: phplaravellaravel-5

解决方案


首先,您可能需要重新考虑 MySQL。如果您想继续留在 RDB 中,您可能需要研究 postgres,并且通过一些优化,它可以处理行数。另一方面,如果你打开切换到 NoSQL,那么我推荐弹性搜索。它可以很好地处理这种数据

如果你选择留在 postgres/mysql。visitor然后,您可以通过将数据(唯一用户)与数据分开来重构架构,visited_pages如下所示:

访客


 - id
 - ip_address
 - device
 - first_visit (created_at)
 - latest_visit (updated_at)

访问页面

 - id
 - page_title
 - page_route
 - first_visit (created_at)
 - latest_visit (updated_at)

page_visit

 - id
 - visitor_id
 - page_id
 - visited_at (created_at) //no need for updated at

最大的表将是最后一个,它不会包含太多数据。并且您不必每次都使用相同的数据,例如路线、页面标题、IP 地址。


推荐阅读