一直以来,我们的项目都是基于文本文件数据进行存储,我喜欢这种存储方式。
首先,他比较简单,并且便于查看和修改,而且非常方便。我觉得唯一的麻烦就是如何管理这一堆用户数据。
然而对于其他开发者来说,查询、统计、处理文本数据是个糟糕的事情,更倾向于SQL类存储。
MongoDB是可以查询,但是如果能直接同步到MySQL是否会更顺利一些?
刚开始计划是这样的:
示例:
玩家:{
OpId,
金钱,
经验,
等级,
背包:[{
OpId,
道具名,
数量,
位置
}],
战绩:{
OpId,
击杀,
死亡
}
}
1.当同步一个根对象时,扫描当层节点作为一个表的定义,于是乎我们有了一个第一层的“玩家表”。
id , opId,rid,金钱,经验,等级
2.扫描子对象,比如战绩,生成“玩家_战绩表“
id,opid,rid,击杀,死亡
生成“玩家_包裹表"
id,opid,rid,道具名,数量,位置
然后我尝试用1个下午完成了该功能,相当不错!
只是有个小问题:如果更改了结构,可能会有点问题。
NodeJs开发这种小模块简直就是利器!!
然后,如何同步的问题?
1.直接使用MySQL同步器,(增加一个读取模块即可)
2.使用远程同步
3.IPC,子进程同步,(单节点部署)
等等,我想到了一个问题,为什么C#版本不能拥有?
1.C# App中嵌入NodeJs作为子进程,然后建立IPC通讯。
2.C# App 通过 TCP 与NodeJs通讯。
这样2版本同时拥有了新的特性!cool!!!