hazelcast - hazelcast中地图的限制数量
问题描述
我正在制作游戏并将使用 hazelcast 来保存玩家数据,我应该将每个玩家的数据保存为地图吗?因为如果我将玩家的数据保存为地图元素,那么每次像增加金币值这样的小变化,我都必须放入玩家的所有数据:例如:
playerData.gold = newValue;
players.replace(palyerID, playerData);
但是如果我将玩家数据制作为地图,那么我只会放新的金币值。前任:
playerA.replace("gold", newGoldValue)
但是我创建很多地图的事情并不好(如果我有超过100万玩家)。我可以创建任意数量的地图吗?如果没有,我可以创建多少张地图?
解决方案
黄
我刚刚在我们的社区频道中回答了同样的问题:
您可以使用 EntryProcessor 来读取或仅更新单个用于播放器数据的某些属性。我不知道您将拥有多少用户,但如果您有 100k 用户,例如,创建 100K 地图不会帮助您,但您可以在一张地图上拥有 100K 或数千万或更多记录。请检查: http: //docs.hazelcast.org/docs/3.10.4/manual/html-single/index.html#entry-processor和https://github.com/hazelcast/hazelcast-code-samples/tree /master/分布式映射/入口处理器
另一方面,如果每个用户数据 > 5-10 MB 并且您需要经常访问所有这些数据,那么拆分它是一个好主意。
请注意,这些只是一般性建议。您需要测试不同的设置并为您的用例找到最合适且性能最好的设置。
推荐阅读
- microsoft-graph-api - b2cAuthenticationMethodsPolicy 方法的权限不足
- javascript - jQuery复制到剪贴板,手动输入没有ID的文本
- r - 如何测试依赖于 menu() 用户输入的函数
- android - @BeforeAll 在 JUnit5 中没有按预期运行
- python - 无法在 virtualbox 中使用 spyder (Python) 访问 Director 中的文件
- wordpress - Wordpress 第二个帖子类型的帖子?
- python - 为什么在 VS Code 中使用 MiniConda 时出现错误?
- javascript - react-native-gesture-handler:当 TapGestureHandler 改变组件顺序时,PanGestureHandler 不调用事件
- ssis - 2016 SSIS 包 - 重复连接
- javascript - 单击单选按钮时图像不会显示 - 损坏的 Javascript