MemoryStoreQueue

Artık kullanılmayanları göster

*Bu içerik, yapay zekâ (beta) kullanılarak çevrildi ve hatalar içerebilir. Sayfayı İngilizce görüntülemek için buraya tıkla.

Oluşturulamaz
Çoğaltılmamış

MemoryStore'ın içinde bir sıra sağlar. Bir sıra, belirli öğeler için geçici depolama sağlayan bir veri yapısıdır (gösterici değerleri depolanır - bakın MemoryStore Limits ). Her sıra öğesi için bir sayısal öncelik vardır: MemoryStore, ilk olarak belirli öğeleri kaydediyor ve ardından aynı önceliği olan öğeleri

Sıraya eklendiğinde öğeleriniz zamanla etkisizleştirilebilir. Zamanlanmış öğeler sıraya giriş yapılmadığında sadece sıraya kaybolur.

Özet

Yöntemler

Özellikler

Yöntemler

AddAsync

void
Bekletir

Sıraya bir öğe ekler.

Parametreler

value: Variant

Sıraya eklemek için öğenin değeri.

expiration: number

Öğe süresi, saniye olarak, öğe sırayızdan otomatik olarak kaldırılacaktır.

priority: number

Öğe önceliği. Daha yüksek önceliğe sahip olan öğeler sırayla daha düşük önceliğe sahip olan öğelerden alınır.

Varsayılan değer: 0

Dönüşler

void

ReadAsync

Bekletir

Tek bir özellik olarak kuyruktan bir veya daha fazla öğeyi okur.

Bu yöntem, döndürilen öğeleri sırayı kaldırmak için otomatik olarak silmez, ancak görünmezliğin süresi boyunca diğer ReadAsync çağrıları için görünmez hale getirir. Öğeleri görünmezliğin süresi dolmadan önce MemoryStoreQueue:RemoveAsync() iletkenliği

Parametreler

count: number

okuöğelerin sayısı. Bu parametrenin maksimum değeri 100'dir.

allOrNothing: bool

Eğer sıra count tane ile daha azsa davranışını kontrol eder: eğer yanlış yapılandırılmışsa yanlış yanıtı içerir; eğer doğru yanılandırılmışsa hiç yanıt vermez.Varsayılan değer yanlıştır.

Varsayılan değer: false
waitTimeout: number

Gereken öğe sayısı hemen kullanılmazsa, yöntemin bekleyeceği süre, saniye olarak, işlenir. Bu süre iki saniye içinde her iki saniyede bir tekrar deneyinir. Bu parametre, beklemek için sıfıra ayarlanabilir veya -1 olarak belirlenir. Bu parametre sağlanmazsa veya belirlenmezse, yöntem kalıcı olarak bekleyecektir.

Varsayılan değer: -1

Dönüşler

İki elemanın bir tuşu. İlk eleman, sıraya okunan bir öğe arayüzüdür. İkinci eleman, bu öğeleri sürekli olarak kaybı etmek için MemoryStoreQueue:RemoveAsync() ile kalıcı olarak bu öğeleri kaydırmanız gereken bir yol göstergesidir.

Kod Örnekleri

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

void
Bekletir

Önce sıraya okunan bir öğeyi veya öğeleri kaldırır. Bu yöntem MemoryStoreQueue:ReadAsync() ile okunan öğeleri tanımlar. Çağrı, görünmezluk süresi dolduktan sonra yapılır. Çağrı, görünmezluk süresi dolduktan sonra yapılır.

Parametreler

id: string

Silinecek öğeleri belirtir. MemoryStoreQueue:ReadAsync() tarafından döndürülenen değer kullanın.


Dönüşler

void

Kod Örnekleri

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

Etkinlikler