Sebuah antrian adalah struktur data linier dengan koleksi item yang mengikuti prinsip first-in-first-out (FIFO) atau men prioritasi elemen berdasarkan prinsip predefinished criteria. 2>Memori menyediakan dua jenis antrian, yaitu
Antrian memori berguna untuk memproses dan menyimpan informasi pengguna, seperti tingkat keterampilan, untuk memudahkan pembuatan pertandingan berdasarkan kriteria Anda yang diinginkan. Misalnya, Anda dapat menambahkan tempat lobi sebagai tempat awal pengalaman Anda, menggunakan antrian memori sebagai sistem penyimpanan informasi pengguna yang terdesentralisasi yang d
Mendapatkan Antrian
Untuk mendapatkan antrian, panggil MemoryStoreService:GetQueue() dengan nama , yang merupakan global dalam pengalaman untuk setiap nama akses, dan waktu tertinggal dalam detik yang merupakan penundaan pemrosesan yang duplikasi dari item antrian yang sama. Penundaan waktu adalah 30 detik secara default jika And
Mendapatkan Antrian Kosong
local MemoryStoreService = game:GetService("MemoryStoreService")local queue = MemoryStoreService:GetQueue("Queue1")
Ketika antrian memproses item di dalamnya, waktu tunggu tidak terlihat berlaku untuk item, menjadikannya tidak terlihat dari diproses oleh server lain, karena banyak server dapat memperbarui antrian secara bersamaan. Meskipun diharapkan untuk menyelesaikan kedua operasi baca dan hapus untuk item selama dur
Setelah Anda mendapatkan antrian, panggil salah satu dari fungsi berikut untuk membaca atau menulis data di dalamnya:
Fungsi | Tindakan |
---|---|
MemoryStoreQueue:AddAsync() | Tambahkan item baru ke antrian. |
MemoryStoreQueue:ReadAsync() | Baca satu atau lebih item dari antrian sebagai operasi tunggal. |
MemoryStoreQueue:RemoveAsync() | Hapuskan. satu atau lebih item sebelumnya dibaca dari antrian. |
Menambahkan Data
Untuk menambahkan item baru ke antrian, panggil MemoryStoreQueue:AddAsync() dengan nilai item, waktu kedaluwarsa dalam detik, dan prioritas opcional item. Jika Anda ingin menjaga antrian dalam urutan FIFO, Anda dapat meninggalkan prioritas kosong atau melewati 0 .
Menambahkan Data ke Antrian
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
Membaca dan Menghapus Data
Untuk membaca satu atau lebih item dari antrian sekaligus, panggil MemoryStoreQueue:ReadAsync() , yang mengembalikan id mewakili item baca. Saat Anda selesai memproses item, segera p
Membaca dan Menghapus Data dari Antrian dengan Loop
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
-- Antrian pemrosesan
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