玩家背包很大,上限有100个道具格,每个道具又可能是装备这种字段比较多的。在每5分钟定时存库时,一下子把整个背包组件都去存库,会不会有性能问题?
我现在就是觉得这样存有点浪费,所以每个道具都有个dirty标记,定时存库时,只把脏了的道具单独存库。因此 道具 在数据库中就有一张表了,然后背包组件也有一张表。
但这样做又感觉有点麻烦。尤其是要接入缓存服时,这些单独的道具就没法作为背包组件的数据直接方便的存、取出来了。
所以想问问,我这样把实体从它的父组件那里剥离出来分开存有必要吗?
HusKka 存储组件,只要替换一下,感觉比单条存储好一点,单条还多了一次查询, 只是不知道mongo对整个集合的替换和查询。 哪个消耗更大。
这才多少性能,这里可以优化下,也就是组件getComponent过的才存
egametang 如果是全球同服那种,十几万玩家存储到同一个数据库。会存在性能问题么?
egametang 也就是没必要分开存是吧。
我这样理解不知道对不对:只要整个组件被Get过,也不用管是否脏了,就存整个组件。因为存一下也不会有性能影响?
自己测试一下撒
getComponent过的才存的话,有个注意点,就是组件如果自身有定时器驱动的逻辑,是不会触发getComponent的,需要小心!