如何用Redis和MySQL双引擎驱动《王者荣耀》战区排行榜?
- 内容介绍
- 文章标签
- 相关推荐
哎呀,说起《王者荣耀》的战区排行榜,那可是个技术活儿!想当年我为了在服务器上搞个个人英雄榜,差点没把自己折腾秃了。那时候真是太天真了以为单靠MySQL就Neng搞定一切。后来啊呢?呵呵,人多就卡成PPT,用户体验简直惨不忍睹! 干就完了! 后来痛定思痛,才开始研究Redis这玩意儿,这才慢慢摸索出了一套还算靠谱的方案。今天就跟大家叨叨这个《王者荣耀》战区排行榜的架构设计,纯属个人经验分享,大家kankan就好,别当真。
为什么MySQL不行?
先说说MySQL吧。优点嘛,它稳定、可靠、数据一致性好。dan是《王者荣耀》这种高并发的游戏场景下MySQL的压力山大!想想kan,几百万玩家一边刷新排行榜数据?查询的时候geng别提了!全表扫描是家常便饭。而且MySQL的读写分离虽然Neng缓解一些压力,但还是难以满足需求。特bie是那种实时性要求高的排行榜,根本就玩不转。

性Neng瓶颈分析
我记得当时Zuo测试的时候特bie绝望。每次排行榜geng新高峰期dou会出现数据库连接数耗尽的情况。用各种SQL优化手段dou只是聊胜于无。索引加多了反而影响写入性Neng;分区表虽然Neng分摊压力,但跨分区的查询又成了新的问题。哎...真是头大啊,切记...!
| 数据库 | 读性Neng | 写性Neng | 并发处理Neng力 |
|---|---|---|---|
| MySQL | 中 | 低 | 低 |
| Redis | 高 | 高 | 高 |
Redis来救场
后来听一位老哥建议说可yi试试Redis。Redis是什么?内存数据库啊!速度快到飞起!而且支持各种数据结构:字符串、哈希表、列表、集合等等。
哎呀,说起《王者荣耀》的战区排行榜,那可是个技术活儿!想当年我为了在服务器上搞个个人英雄榜,差点没把自己折腾秃了。那时候真是太天真了以为单靠MySQL就Neng搞定一切。后来啊呢?呵呵,人多就卡成PPT,用户体验简直惨不忍睹! 干就完了! 后来痛定思痛,才开始研究Redis这玩意儿,这才慢慢摸索出了一套还算靠谱的方案。今天就跟大家叨叨这个《王者荣耀》战区排行榜的架构设计,纯属个人经验分享,大家kankan就好,别当真。
为什么MySQL不行?
先说说MySQL吧。优点嘛,它稳定、可靠、数据一致性好。dan是《王者荣耀》这种高并发的游戏场景下MySQL的压力山大!想想kan,几百万玩家一边刷新排行榜数据?查询的时候geng别提了!全表扫描是家常便饭。而且MySQL的读写分离虽然Neng缓解一些压力,但还是难以满足需求。特bie是那种实时性要求高的排行榜,根本就玩不转。

性Neng瓶颈分析
我记得当时Zuo测试的时候特bie绝望。每次排行榜geng新高峰期dou会出现数据库连接数耗尽的情况。用各种SQL优化手段dou只是聊胜于无。索引加多了反而影响写入性Neng;分区表虽然Neng分摊压力,但跨分区的查询又成了新的问题。哎...真是头大啊,切记...!
| 数据库 | 读性Neng | 写性Neng | 并发处理Neng力 |
|---|---|---|---|
| MySQL | 中 | 低 | 低 |
| Redis | 高 | 高 | 高 |
Redis来救场
后来听一位老哥建议说可yi试试Redis。Redis是什么?内存数据库啊!速度快到飞起!而且支持各种数据结构:字符串、哈希表、列表、集合等等。

