要存储数据,您可以使用 数据存储 使用 DataStoreService 或 内存存储 使用 2>Class.MemoryStoreService2>。
或者,您也可以使用 Lua 类型和变量来 在 Lua 中存储数据在内存中,而不使用数据或内存存储服务。
何时使用数据存储
Class.DataStoreService 存储在会话之间需要持续的长期数据,例如用户进度或库存项目。数据存储是按体验统一的,因此每个体验内的每个服务器都可以访问并更改相同的数据。有两种类型的数据存储:标准和排序。 标准数据存储 可以存储不需要排名或排序的数据,例如数字、字符串和表。此数据存储为键值对,每个键值都存储在数据存储中的独一无二的钥匙下,您可以检索、更新或删除。 订购的数据存储 只能存储数字。每个条目都存储在数据存储中的钥匙下,您可以检索、更新或删除。您可以根据存储的数量排序并以上升或下降顺序显示它。有关更多信息,请参阅订购的数据存储。
标准数据存储 | 数据存储的顺序 | |
---|---|---|
数据类型 | 数量、字符串、 booleans 和表。 | 仅数字。 |
普通使用例子 | 用户进度、物品栏项目和体验设置。 | 排名系统和排行榜,无论是在内存存储中的排行榜,还是在排名系统中的排行榜,这些排行榜数据都是永久的。 |
过去版本备份 | 自动管理您的数据的以前版本,持续 30 天。 | 不会管理您的数据的以前版本。 |
何时使用内存存储
Class.MemoryStoreService 是一个高速且低延迟的服务,可以存储在更新或访问频繁的临时数据,例如全球排行榜或匹配队列。 使用内存存储时,每个服务器内的每个地方都可以立即访问和更改相同的数据。 在内存存储中,数据在一定期间内过期,最多持续 45 天。
虽然存储器可以暂时存储数据,但它们也支持永久功能,例如全球市集。市场是永久的,但在其中的物品有过期日。
内存存储空间 > | |
---|---|
数据类型 | 不需要持续超过 45 天的数量、字符串、 booleans 和表。 |
普通使用例子 | 基于技能的匹配,为多人游戏状态匹配,每日和每月排行榜。 |
使用内存存储在 Lua 中
您可以使用 Lua 中的内存存储来存储临时数据,需要以最小延迟和无需外部服务调用数据存储或内存存储的成本进行访问。 无需进行额外的设置,因为它已经默认在 Lua 中构建。
在 Lua 内存存储工具 | ||
---|---|---|
数据类型 | 数量、字符串、 booleans 和表。 | |
普通使用例子 | 只有在一个服务器会话中相关的数据,您可以立即更新,而不会因持久性而担心。 | 示例:激活的 buff、临时点数和进行中的任务进度,该用户离开体验时会重置。 |
如果发生频繁更改,例如计数器、计时器或状态旗帜。 | 示例:用户的健康条,更新每次击打。 | |
避免大型激活体验中高频操作的限率限制。 | 例子:与数十名对象户互动的体验。 | |
数据驱动游戏逻辑,例如临时变量或强化状态,在不需要任何延迟的情况下快速访问是关键。 | 例子:用户当前的攻击状态或敌人当前的生命值,这些都需要立即可以访问,而不受数据存储或内存存储等外部服务的延迟影响。 | |
只在一个服务器上才会发生的多人游戏互动。 | 示例:在共同探索任务体验中的共同目标。 |