Skip to content

OrderedDataStoreKeyValueInfo

概览

字段
KindData · 数据 Data
Realmserver

有序数据存储键值对信息对象,封装了有序数据存储中单条记录的完整信息。它提供了键名、值、前置域和更新时间等属性,用于在分页查询结果中遍历和读取数据。

适用场景

当通过 OrderedDataStore 的 GetSortedAsync 方法获取排序后的数据分页时,遍历 OrderedDataStoreKeyValueInfoPages 即可得到该类型的实例,从而读取每条记录的键、值和元数据。

使用要点

先通过 DataStoreService 获取 OrderedDataStore 实例,再调用其 GetSortedAsync 方法得到 OrderedDataStoreKeyValueInfoPages 对象。使用 Pages 的 GetCurrentPage 方法获取当前页的 OrderedDataStoreKeyValueInfo 数组,然后遍历数组读取每个元素的 Scope、Key、Value 和 UpdatedTime 属性。

注意事项

该类型不可直接构造,只能通过 OrderedDataStoreKeyValueInfoPages 的分页迭代获得实例。Value 属性为整数类型,确保存储和读取时数据类型匹配。UpdatedTime 为毫秒时间戳,可用于判断数据的新鲜度。

代码示例

从排序分页结果读取条目信息

lua
-- @runtime server
local DataStoreService = game:GetService('DataStoreService')
local Task = game:GetService('Task')
local orderedStore = DataStoreService:GetOrderedDataStore('PlayerScore')

Task:Spawn(function()
    local pages = orderedStore:GetSortedAsync(false, 10)
    for _, item in ipairs(pages:GetCurrentPage()) do
        print(item.Scope, item.Key, item.Value, item.UpdatedTime)
    end
end)

属性 (4)

Name类型默认值说明
ScopeString""该键值对所属的前置域(Scope),用于区分不同命名空间下的数据。
KeyString""有序数据存储中该键值对的键名。
ValueInt0该键值对存储的整数值。
UpdatedTimeInt0该键值对最后一次更新的时间,以毫秒时间戳表示。