php - 很多数据量的用户积分变动明细有什么好的存储方案?
ringa_lee
ringa_lee 2017-04-11 08:57:22
[PHP讨论组]

一个用户量在600万级别的网站,一个用户一天最多可能产生30条积分增加,比如+1,+2,+5.也可以产生若干条积分支出,比如-50,-100。
有什么好的方案可以储存用户的这些变动明细?mysql似乎不是一个好的方案,因为数据量实在太大了。

ringa_lee
ringa_lee

ringa_lee

全部回复(3)
ringa_lee

我给题主算算,假定所有用户都是活跃的,而且全都每天有30条积分增加,那么每秒的请求数计算如下:

600w * 30 = 18000w
18000w / 86400秒 = 2083条/秒

据我所知,就这点请求量,MySQL完全扛得下来,但你必须对用户ID做索引。

事实上线上肯定不可能有这么多请求量的,600w用户级别的网站,里面活跃用户不会太多,也不可能每个用户每天都有30条增加,这里的量会比这里预估的少很多(估计少一半都不止)。

所以建议题主先仔细分析数据,不要拍脑袋,搞premature optimization

如果题主希望了解 MySQL 的性能,这里有个官方页面供参考:https://dev.mysql.com/tech-resources/articles/mysql-5.6.html

PHP中文网

楼主可以考虑用redis来存储用户积分 然后每天对积分进行统计 然后存入MySQL

PHP中文网

部分取决于DBA团队精通哪些工具,存储类的应用一坦出问题,要能快速恢复。如果团队主要用mysql那先还是要考滤用mysql。

热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板
关于我们 免责申明 意见反馈 讲师合作 广告合作 最新更新
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号 技术交流群
PHP中文网订阅号
每天精选资源文章推送
PHP中文网APP
随时随地碎片化学习
PHP中文网抖音号
发现有趣的

Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号