最佳实践是帮助您更有效地管理数据的指南。
一般最佳实践
创建更少的数据存储
数据存储的行为类似于数据库中的表。当您减少游戏中数据存储的数量并将相关数据放在同一数据存储中时,您能够单独配置每个数据存储,并提高服务操作数据的效率。
对于相关数据使用单个对象
为了更有效地使用最大 4 MB 对象大小限制,在一次调用中提取所有相关数据。SetAsync() 更新所有数据,以确保同一用户的所有数据始终保持同步。
版本控制系统对单个对象进行版本管理,而不是整个数据存储。这意味着在您将数据存储恢复到旧版本时,自包含对象是一致的。
使用键前缀组织数据
在调用 ListKeysAsync() 时,使用具有特定 前缀 的过滤键。例如,您可以在支持多个角色档案的游戏中保存带有前缀的键,如 /User_1234/profiles/warrior 和 /User_1234/profiles/mage。然后,您可以使用前缀搜索 /User_1234/profiles 来获取该用户所有档案的列表。
优化最佳实践
数据存储有适用于每个游戏的存储限制。当您的游戏接近或超过配额时,您应该采取措施减少使用量,并避免潜在的额外费用。
监控存储使用情况
使用以下工具进行数据存储可观察性:
数据存储仪表板,为您提供有关存储使用情况的视觉概述。使用此仪表板监控您的存储如何扩展,并识别使用量意外增长的时期。
数据存储管理器,为您提供对游戏存储数据的直接视图。管理器包括关键指标,如您当前的存储使用情况以及您在所有数据存储中存储的总键数。如果您的游戏超过配额,管理器将显示警报和您新的预计每月费用。
如果您的游戏拥有超过 100 个数据存储,管理器可能不会显示详细指标。在这种情况下,请考虑通过开放云或批量操作进行程序分析。
通知,在您的游戏接近或超过存储限制时通知您。通知包括指导和链接到仪表板,您可以在仪表板中查看并减少您的使用情况。
解决超配额使用
如果您的游戏超过了存储限制,您可以:
- 删除未使用的数据存储。 如果您正在测试或有临时存储,定期删除它们有助于保持健康的存储使用情况。当您删除数据存储时,Roblox 可能需要最多 30 天来处理您的请求。
- 删除单个键。 当您需要移除临时项目或特定玩家的数据时,这很有用。
- 使用批处理处理器。 在手动删除数据不高效的情况下,您可以使用 批处理处理器 或开放云数据存储 API 批量删除数据。
使用数据存储版本而不是新键
在保存玩家或配置数据的更新或新版本时,您可以使用数据存储的版本控制系统,而不是为每个版本创建新键。版本控制允许您回滚或检查以前的保存,而无需增加您的总键数或存储占用。
使用内存存储临时数据
使用 内存存储 而不是数据存储来缓存或存放短期数据。内存存储中的数据会在 45 天后自动过期,从而减少您的长期存储增长。
测试后清理数据
测试完成后,请通过数据存储管理器删除测试数据存储。避免仅为测试数据创建新的作用域或整个新的数据存储。
根据键存储玩家数据
与其按数据存储存储玩家数据,不如按键存储。删除一个键比删除一个数据存储要快。
事件后移除数据
在季节性事件或临时功能后,通过批处理处理器或开放云 API 删除未使用的数据。
定期审核使用情况
确保定期审核您的使用情况,并通过数据存储仪表板尽早发现异常情况。