扫码关注官方订阅号
一个用户量在600万级别的网站,一个用户一天最多可能产生30条积分增加,比如+1,+2,+5.也可以产生若干条积分支出,比如-50,-100。有什么好的方案可以储存用户的这些变动明细?mysql似乎不是一个好的方案,因为数据量实在太大了。
ringa_lee
我给题主算算,假定所有用户都是活跃的,而且全都每天有30条积分增加,那么每秒的请求数计算如下:
600w * 30 = 18000w 18000w / 86400秒 = 2083条/秒
据我所知,就这点请求量,MySQL完全扛得下来,但你必须对用户ID做索引。
MySQL
事实上线上肯定不可能有这么多请求量的,600w用户级别的网站,里面活跃用户不会太多,也不可能每个用户每天都有30条增加,这里的量会比这里预估的少很多(估计少一半都不止)。
所以建议题主先仔细分析数据,不要拍脑袋,搞premature optimization。
premature optimization
如果题主希望了解 MySQL 的性能,这里有个官方页面供参考:https://dev.mysql.com/tech-resources/articles/mysql-5.6.html
楼主可以考虑用redis来存储用户积分 然后每天对积分进行统计 然后存入MySQL
部分取决于DBA团队精通哪些工具,存储类的应用一坦出问题,要能快速恢复。如果团队主要用mysql那先还是要考滤用mysql。
微信扫码关注PHP中文网服务号
QQ扫码加入技术交流群
扫描下载App
Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号
PHP学习
技术支持
返回顶部
我给题主算算,假定所有用户都是活跃的,而且全都每天有30条积分增加,那么每秒的请求数计算如下:
据我所知,就这点请求量,
MySQL
完全扛得下来,但你必须对用户ID做索引。事实上线上肯定不可能有这么多请求量的,600w用户级别的网站,里面活跃用户不会太多,也不可能每个用户每天都有30条增加,这里的量会比这里预估的少很多(估计少一半都不止)。
所以建议题主先仔细分析数据,不要拍脑袋,搞
premature optimization
。如果题主希望了解
MySQL
的性能,这里有个官方页面供参考:https://dev.mysql.com/tech-resources/articles/mysql-5.6.html楼主可以考虑用redis来存储用户积分 然后每天对积分进行统计 然后存入MySQL
部分取决于DBA团队精通哪些工具,存储类的应用一坦出问题,要能快速恢复。如果团队主要用mysql那先还是要考滤用mysql。