HoltYin

redis解决高并发问题实例

应用场景

需要统计友情链接的点击次数,并在后台管理系统中实时显示

存在问题

前端可能有多个用户同时点击友情连接,需要考虑对高并发的处理

解决问题使用技术

redis+mysql数据库+java

解决方案

利用redis缓存每天的数据,数据库中存储除今天外的历史总点击数,每日定时从redis中将缓存数据存入数据库中,并清除redis中缓存数据

方案具体步骤

1.在redis中约定一个key的value来存每天友情链接的点击数,数据库中有一个字段会存除今日外的历史总点击数
2.前端每次有用户点击友情链接时,会往后台发送请求,后台会往redis中的每天友情链接点击数+1
3.每日定时将redis中存的每天友情链接点击数同步到数据库的历史总点击数中,并清空redis中存的每天友情链接点击数
4.后台管理系统查看点击数时,会取出数据库中的历史总点击数+redis中的每天点击数,则为实时的友情链接点击数

解决问题关键所在

1.redis是单线程,无线程安全问题
2.redis性能高,Redis读的速度是110000次/s,写的速度是81000次/s,只要不是极端情况下的并发,基本上都可以处理

弊端

1.极端情况下的并发情况仍然无法解决

热评文章