Skip to content

MemoryStoreSortedMapGetRangeOptions

概览

字段
KindData · 数据 Data
Realmserver

MemoryStoreSortedMapGetRangeOptions 用于配置 MemoryStoreSortedMap:GetRangeAsync 的范围查询参数。通过设置键和排序键的上下限,可以精确控制返回的数据范围。所有字段默认为空,表示不施加对应限制。

适用场景

在需要从有序映射中按范围获取一批数据时,创建该配置对象并传入 GetRangeAsync 方法,以限定返回的键和排序键区间。

使用要点

通过 MemoryStoreSortedMapGetRangeOptions.New() 或 MemoryStoreSortedMapGetRangeOptions() 创建实例,然后设置 LowerBoundKey、UpperBoundKey、LowerBoundSortKey、UpperBoundSortKey 等字段,最后作为参数调用 MemoryStoreSortedMap:GetRangeAsync。

注意事项

该类型仅作为 GetRangeAsync 的可选参数容器,不应单独使用。设置的边界值均为开区间,即排除边界自身。

代码示例

按排序键下限读取范围

lua
-- @runtime server
local Task = game:GetService("Task")
Task:Spawn(function()
    local MemoryStoreService = game:GetService('MemoryStoreService')
    local sortedMap = MemoryStoreService:GetSortedMap('season_score')

    local options = MemoryStoreSortedMapGetRangeOptions.New()
    options.LowerBoundSortKey = 1000
    local pages = sortedMap:GetRangeAsync(Enums.SortDirection.Ascending, 20, options)
    for _, item in ipairs(pages:GetCurrentPage()) do
        print(item.Key, item.Value, item.SortKey)
    end
end)

属性 (4)

Name类型默认值说明
LowerBoundKeyString-范围查询的键下限,查询结果中键大于此值的项才会被返回。
UpperBoundKeyString-范围查询的键上限,查询结果中键小于此值的项才会被返回。
LowerBoundSortKeyAny-排序键下限(开区间),类型应与写入 SortedMap 的 sortKey 一致。
UpperBoundSortKeyAny-排序键上限(开区间),类型应与写入 SortedMap 的 sortKey 一致。

函数 (1)

New

签名:New() -> MemoryStoreSortedMapGetRangeOptions

创建一个新的 MemoryStoreSortedMapGetRangeOptions 实例,用于配置有序映射的范围查询选项。

返回值 MemoryStoreSortedMapGetRangeOptions

示例代码

构造范围选项并查询

lua
-- @runtime server
local Task = game:GetService("Task")
Task:Spawn(function()
    local MemoryStoreService = game:GetService('MemoryStoreService')
    local sortedMap = MemoryStoreService:GetSortedMap('season_score')
    local options = MemoryStoreSortedMapGetRangeOptions.New()
    options.LowerBoundSortKey = 1000
    local pages = sortedMap:GetRangeAsync(Enums.SortDirection.Ascending, 20, options)
    print('当前页数量:', #pages:GetCurrentPage())
end)