php + mysql + redis 高并发投票应用的解决方案

应用场景:
投票活动,大量刷票行为导致数据库高并发,服务器资源占用居高不下,活动无法正常进行

1、表引擎改用innodb
2、投票数据采用redis缓存起来,设置过期时间定时更新
3、利用redis消息队列将投票操作存入队列,设置计划任务延迟更新

MyISAM适合:(1)做很多count 的计算;(2)插入不频繁,查询非常频繁;(3)没有事务。
InnoDB适合:(1)可靠性要求比较高,或者要求事务;(2)表更新和查询都相当的频繁,并且表锁定的机会比较大的情况。(3)性能较好的服务器

http://ourmysql.com/archives/1387
http://blog.163.com/yang_jianli/blog/static/161990006201010175122563/

你可能感兴趣的:(php + mysql + redis 高并发投票应用的解决方案)