Bir sıra , ilk-ilk-git (FIFO) ilkesini takip eden veya önceliklendirilen öğeleri içeren bir lineer veri yapısıdır. Hafıza depoları 2 tür sırayı destekler, FIFO sıradan sıralar
Hafıza depolama sıraları, yetenek seviyeleri gibi kullanıcı bilgilerini işlemek ve depolamak için kullanılır, böylece istediğiniz kriterlere dayalı olarak eşleştirmeyi kolaylaştırabilirsiniz. Örneğin, bir lobi yerini başlangıç noktası olarak ekleyebilirsiniz, bir kull
Bir Sıra Oluşturulması
Bir sıra almak için, MemoryStoreService:GetQueue() ile bir isim ile çağırın, which is global içinde deneyim için herhangi bir script'e erişim için, ve bir zorunlu gizlilik süresi içinde, which önlü duplik işlem işlem işlem işlem işlem işlem iş
Boş Bir Sıra Oluşturulması
local MemoryStoreService = game:GetService("MemoryStoreService")local queue = MemoryStoreService:GetQueue("Queue1")
Bir sıra bir öğeyi işlemiyorsa, gizlilik süresi dolduğunda öğe görünmez hale gelir ve diğer sunuculardan işlenmesi için sıraya başka bir öğe gönderilir, böylece sırayı işlemek için her iki öğeyi de görebilirsiniz. Bu,
Bir sıra aldıktan sonra, sırayı okumak veya yazmak için aşağıdaki işlevlerden herhangi birini çağırın:
Fonksiyon | Eylem |
---|---|
MemoryStoreQueue:AddAsync() | Add sıraya yeni bir öğe ekler. |
MemoryStoreQueue:ReadAsync() | Read tek bir işlem olarak sırayanın içinden bir veya daha fazla öğeyi okur. |
MemoryStoreQueue:RemoveAsync() | Kaldır önce sıraydan okunan bir veya daha fazla öğeyi kaldırın. |
Veriler Ekleme
Yeni bir öğeyi sıraya eklemek için, öğe değerini, saniye başına bir sona erişme zamanı ve öğenin gereken önceliği ile birlikte MemoryStoreQueue:AddAsync() çağırın. Eğer sırayı FIFO sırasında tutmak istiyorsanız, önceliği boş bırakabilir veya 0'yı geçersin.
Bir Sıraya Veri Ekleme
local MemoryStoreService = game:GetService("MemoryStoreService")
local queue = MemoryStoreService:GetQueue("Queue1")
local addSuccess, addError = pcall(function()
queue:AddAsync("User_1234", 30, 1)
end)
if not addSuccess then
warn(addError)
end
Verileri Okuyup Kaldırma
Bir veya daha fazla öğeyi hızlı bir şekilde okumak için, MemoryStoreQueue:ReadAsync() çağırın, bu, bir okuma öğesi temsil eden id'i içerir. Öğeleri
Dizinleme ve Loop ile Sıraya Verilerin Okuyup Kaldırılması
local MemoryStoreService = game:GetService("MemoryStoreService")
local queue = MemoryStoreService:GetQueue("Queue1")
local addSuccess, addError = pcall(function()
queue:AddAsync("User_1234", 30, 1)
end)
if not addSuccess then
warn(addError)
end
-- Sıra işleme döngüsü
while true do
local readSuccess, items, id = pcall(function()
return queue:ReadAsync(1, false, 30)
end)
if not readSuccess then
task.wait(1)
elseif #items > 0 then
print(items, id)
local removeSuccess, removeError = pcall(function()
queue:RemoveAsync(id)
end)
if not removeSuccess then
warn(removeError)
end
end
end