在GatewayWorker模式下,为了重启工作进程不影响客户连接,所以在Worker进程里不保存用户状态,所以我想问下在做MMO游戏类型的时候,大量用户数据放在哪里比较合适?不能在Worker里用全局变量保存,又不能在GATEWAY里保存了,通过传递数据的方式访问。如果用REDIS之类的来交换数据,由于是REDIS是单线程的,如果大量用户并发的话,REDIS势必会造成响应速度慢的问题,有没有什么好的方法呢?(Mecached 有说是单线程的,也有说多线程的,我没有搞明白,是不是用memcache访问会解决这个问题)
redis、memcache、mysql等存储都可以
redis虽然是单线程的,但是单实例仍然能支持非常高(几万QPS)的吞吐量。
并且可以启动多个实例,甚至部署在多个服务器上,成倍的增加redis服务吞吐能力
保存在文件里可以吗