MemoryStoreQueue

非推奨を表示

*このコンテンツは、ベータ版のAI(人工知能)を使用して翻訳されており、エラーが含まれている可能性があります。このページを英語で表示するには、 こちら をクリックしてください。

作成できません
複製されていません

MemoryStore 内のキューへのアクセスを提供します。キューは、任意のアイテムに一時的なストレージを提供するデータ構造で、最大アイテムサイズまで(メモリストア制限 を参照)。各キューアイテムには数字の優先度があります:メモリストアは最初に優先度の高いアイテムをキューから取得し、同じ優先度のアイテムを順に取得します。

キューにあるアイテムは、特定の期間後に期限切れに設定できます。期限切れのアイテムは、追加されたことがないかのようにキューから消えます。

概要

方法

  • AddAsync(value : Variant,expiration : number,priority : number):()
    イールド

    キューにアイテムを追加します。

  • GetSizeAsync(excludeInvisible : boolean):number
    イールド

    キューのサイズを取得します。

  • ReadAsync(count : number,allOrNothing : boolean,waitTimeout : number):Tuple
    イールド

    キューから1つまたは複数のアイテムを読みます。

  • イールド

    以前にキューから読み込まれたアイテムまたはアイテムを削除します。

プロパティ

方法

AddAsync

()
イールド

パラメータ

value: Variant
既定値: ""
expiration: number
既定値: ""
priority: number
既定値: 0

戻り値

()

GetSizeAsync

イールド

パラメータ

excludeInvisible: boolean
既定値: false

戻り値

ReadAsync

イールド

パラメータ

count: number
既定値: ""
allOrNothing: boolean
既定値: false
waitTimeout: number
既定値: -1

戻り値

コードサンプル

Using a MemoryStoreQueue

local MemoryStoreService = game:GetService("MemoryStoreService")
local DataStoreService = game:GetService("DataStoreService")
local queue = MemoryStoreService:GetQueue("PlayerQueue")
local dataStore = DataStoreService:GetDataStore("PlayerStore")
while true do
pcall(function()
-- wait for an item to process
local items, id = queue:ReadAsync(1, false, 30)
-- check if an item was retrieved
if #items > 0 then
-- mark the item as processed
dataStore:UpdateAsync(items[0], function(data)
data = data or {}
data.processed = 1
return data
end)
-- remove the item from the queue
queue:RemoveAsync(id)
end
end)
end

RemoveAsync

()
イールド

パラメータ

id: string
既定値: ""

戻り値

()

コードサンプル

Using a MemoryStoreQueue

local MemoryStoreService = game:GetService("MemoryStoreService")
local DataStoreService = game:GetService("DataStoreService")
local queue = MemoryStoreService:GetQueue("PlayerQueue")
local dataStore = DataStoreService:GetDataStore("PlayerStore")
while true do
pcall(function()
-- wait for an item to process
local items, id = queue:ReadAsync(1, false, 30)
-- check if an item was retrieved
if #items > 0 then
-- mark the item as processed
dataStore:UpdateAsync(items[0], function(data)
data = data or {}
data.processed = 1
return data
end)
-- remove the item from the queue
queue:RemoveAsync(id)
end
end)
end

イベント