Một hàng đợi là một结构 dữ liệu lineal với một bộ sưu tập các thành phần được theo nguyên tắc first-in-first-out (FIFO) hoặc ưu tiên các thành phần dựa trên các
Hàng đợi lưu trữ dữ liệu là hữu ích cho việc xử lý dữ liệu dựa trên trình tự và lưu trữ thông tin người dùng, chẳng hạn như các cấp độ kỹ năng, để dễ dàng hơn cho việc matchmaking dựa trên các tiêu chuẩn của bạn. Ví
Nhận một Hàng Đợi
Để có được một hàng đợi, gọi MemoryStoreService:GetQueue() với một tên , which is global within the experience for any script to truy cập, và một optionally thời gian trễ hiển thị in seconds, which防止 duplicated processing của cùng một vật phẩmhàng đợi. Invisibilitytimeout là 30 giây
Nhận một Hàng Rào Trống
local MemoryStoreService = game:GetService("MemoryStoreService")local queue = MemoryStoreService:GetQueue("Queue1")
Khi một hàng đợi xử lý một mục trong nó, thời gian chờ nhìn này được áp dụng cho vật phẩm, làm cho nó trở nên tàng hình khỏi được xử lý bởi các máy chủ khác, khi nhiều máy chủ
Sau khi bạn nhận được một hàng đợi, gọi bất kỳ chức năng nào dưới đây để đọc hoặc viết dữ liệu vào nó:
Hàm | Hành động |
---|---|
MemoryStoreQueue:AddAsync() | Thêm một mục mới vào hàng đợi |
MemoryStoreQueue:ReadAsync() | Đọc một hoặc nhiều mục từ hàng đợi như một hoạt động duy nhất. |
MemoryStoreQueue:RemoveAsync() | Loại bỏ một hoặc nhiều mục đã đọc trước đó từ hàng đợi. |
Thêm Dữ Liệu
Để thêm một mục mới vào hàng đợi, hãy gọi MemoryStoreQueue:AddAsync() với giá trị mục, thời gian hết hạn trong giây và một优先级 vật phẩm(nếu có). Nếu bạn muốn giữ hàng đợi trong thứ tự FIFO, bạn có thể để trống giá trị优先级 hoặc bỏ qua
Thêm Dữ Liệu vào Một Queue
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
Đọc và Xóa Dữ Liệu
Để đọc một hoặc nhiều mục từ hàng đợi ngay lập tức, gọi MemoryStoreQueue:ReadAsync(), which returns an id đại diện cho mục đọc. K
Đọc và Xóa Dữ liệu từ Queue với 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
-- Lượt xử lý hàng đợi
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