MemoryStoreQueue

Veraltete anzeigen

*Dieser Inhalt wurde mit KI (Beta) übersetzt und kann Fehler enthalten. Um diese Seite auf Englisch zu sehen, klicke hier.

Nicht erstellbar
Nicht repliziert

Bietet Zugriff auf eine Warteschlange innerhalb von MemoryStore.Eine Warteschlange ist eine Datenstruktur, die vorübergehende Speicherung für beliebige Elemente bietet (bis zur maximalen Elementgröße -- siehe MemoryStore-Grenzen ).Jedes Queue-Element hat eine numerische Priorität: MemoryStore holt zuerst Elemente mit höherer Priorität aus der Warteschlange und holt dann Elemente mit derselben Priorität in der Reihenfolge der Hinzufügung ab.

Artikel in der Warteschlange können optional so eingestellt werden, dass sie nach einer bestimmten Zeit ablaufen.Abgelaufene Elemente verschwinden einfach aus der Warteschlange, als wären sie nie hinzugefügt worden.

Zusammenfassung

Methoden

  • AddAsync(value : Variant,expiration : number,priority : number):()
    Angehalten

    Fügt einem Element in die Warteschlange hinzu.

  • GetSizeAsync(excludeInvisible : boolean):number
    Angehalten

    Holen Sie sich die Größe der Warteschlange.

  • ReadAsync(count : number,allOrNothing : boolean,waitTimeout : number):Tuple
    Angehalten

    Lesen Sie einen oder mehrere Artikel aus der Warteschlange.

  • Angehalten

    Entfernt einen Artikel oder Artikel, die zuvor aus der Warteschlange gelesen wurden.

Eigenschaften

Methoden

AddAsync

()
Angehalten

Parameter

value: Variant
Standardwert: ""
expiration: number
Standardwert: ""
priority: number
Standardwert: 0

Rückgaben

()

GetSizeAsync

Angehalten

Parameter

excludeInvisible: boolean
Standardwert: false

Rückgaben

ReadAsync

Angehalten

Parameter

count: number
Standardwert: ""
allOrNothing: boolean
Standardwert: false
waitTimeout: number
Standardwert: -1

Rückgaben

Code-Beispiele

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

()
Angehalten

Parameter

id: string
Standardwert: ""

Rückgaben

()

Code-Beispiele

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

Events