wokerman中可以通过static将数据常驻在内存中,那么经gateway分发以后的worker在访问同一个static数据时(如常驻于内存的 棋牌游戏的所有房间信息),是否存在脏数据的隐患,希望各位大大不吝赐教。
每个进程都有自己的static数据,他们是完全分离的,某个进程static数据变化时不会同步数据给其它进程。
所以 1、经常变更的全局数据最好存储在mysql、redis等存储中,或者通过进程间通讯方法做实时数据同步。 2、不变更的数据可以一次全部载入赋值给static变量 3、偶尔变更的数据并且对及时性要求不高的场景(例如用户黑名单),可以用static变量存储,然后定时(例如1秒)从存储中读取最新数据。
谢谢
每个进程都有自己的static数据,他们是完全分离的,某个进程static数据变化时不会同步数据给其它进程。
所以
1、经常变更的全局数据最好存储在mysql、redis等存储中,或者通过进程间通讯方法做实时数据同步。
2、不变更的数据可以一次全部载入赋值给static变量
3、偶尔变更的数据并且对及时性要求不高的场景(例如用户黑名单),可以用static变量存储,然后定时(例如1秒)从存储中读取最新数据。
谢谢