聊天记录保存到数据库问题

小白向各位大佬请教各问题,假如一个项目有1万并发量,直接用mysql数据库的话,数据库能承受住吗?
 
如果用文件或者redis来保存聊天记录,每隔一定时间存一次数据库,这种方式可行吗?
 
用文件存储还是用redis存储效率高呢?
已邀请:

taozywu - http://athanb.com -- 做更好的自己!

赞同来自: yunwalker

@yunwalker 

1w在线, 1k在相互私聊。

可以建立一个redis集群,进行实时存储。 当然中间加上队列集群来也是可以。
至于数据最后存在mysql中, 可以挑一个空闲时间在处理。

--
以上个人思路!

yongdao35

赞同来自:

1万并发属于淘宝级别的并发了。需要一个优秀的架构团队,开发出适合自己业务场景的分布式存储。
并不是一个mysql 一个 redis就能解决的。

边玩边玩

赞同来自:

这1000用户是群聊还是,相互之间私聊?

抽不完的寂寞

赞同来自:

同时1万在线基本不会有1000并发。100就不错了,直接存mysql没有任何问题。

抽不完的寂寞

赞同来自:

数据量大的话第一考虑的是mysql主从,主库只写,多个从库读。
mysql每秒写个几千条数据是没问题的,写数据按月写一个表或者7天一个表,或者根据uid取模等规则分多个表去写。基本上可以抗上千并发了。
如果是聊天类的,基本上mysql写请求不大的。因为消息多了就刷屏了,反而没法聊了。

要回复问题请先登录注册