MemoryStoreQueue
*Nội dung này được dịch bằng AI (Beta) và có thể có lỗi. Để xem trang này bằng tiếng Anh, hãy nhấp vào đây.
Cung cấp quyền truy cập vào một hàng đợi trong MemoryStore. Một hàng đợi là một cấu trúc dữ liệu mà cung cấp lưu trữ tạm thời cho các mục dữ liệu (lên đến kích thước mục tối đa -- xem Giới hạn của MemoryStore). Mỗi mục hàng đợi có một
Các mục trong hàng đợi có thể bị tùy chỉnh thời gian hết hạn sau một lượng thời gian nhất định. Các mục đã hết hạn chỉ bị xóa khỏi hàng đợi như thể chúng không bao giờ được thêm vào.
Tóm Tắt
Phương Pháp
Thêm một món đồ vào hàng đợi.
Đọc một hoặc nhiều mục từ hàng đợi.
Loại bỏ một mục hoặc mục đã đọc từ hàng đợi.
Thuộc Tính
Phương Pháp
AddAsync
Thêm một món đồ vào hàng đợi.
Tham Số
Giá trị của mục để thêm vào hàng đợi.
Thời gian hết hạn của mục, trong giây, sau đó mục sẽ bị tự động xóa khỏi hàng đợi.
Độ quan trọng của mục. Các mục có độ quan trọng cao hơn được lấy từ hàng đợi trước khi các mục có độ quan trọng thấp hơn.
Lợi Nhuận
ReadAsync
Đọc một hoặc nhiều mục từ hàng đợi như một hoạt động nguyên tử.
Phương thức này không tự động xóa các mục đã được lưu từ hàng đợi nhưng làm chúng tàng hình cho các gọi ReadAsync khác trong khoảng thời gian invisibility timeout. Các mục phải được xóa rõ ràng khỏi hàng đợ
Tham Số
Số lượng các mục để đã xem. Giá trị tối đa của tham số này là 100.
Điều khiển hành vi của mét phương trong trường hợp hàng đợi có ít hơn count mặt hàng: nếu đặt sai, mét phương trả lại tất cả các mặt hàng có sẵn; nếu đặt trên true, nó không trả lại mặt hàng nào. Giá trị mặc định là false.
Thời gian, trong giây, mà hàm sẽ chờ đợi nếu số lượng yêu cầu được sẵn sàng ngay lập tức trong hàng đợi. Các lượt đọc được thực hiện mỗi hai giây trong khoảng thời gian này. Đây là một trong những tham số có thể được cài đặt để làm cho không c
Lợi Nhuận
Một tuần tập của hai yếu tố. Thứ nhất là một danh sách các giá trị đọc từ hàng đợi. Thứ hai là một người dẫn mảnh khải để được truyền cho MemoryStoreQueue:RemoveAsync() để vĩnh viễn loại bỏ các mục này khỏi hàng đợi.
Mẫu mã
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
Loại bỏ một mục hoặc mục đã được đọc từ hàng đợi. Phương thức này sử dụng nhận dạng được trả lại bởi MemoryStoreQueue:ReadAsync() để xác định các mục cần xóa. Nếu gọi sau khi hết thời gian hiển thị, cuộc gọi này không có hiệu lực.
Tham Số
Xác định các mục để xóa. Sử dụng giá trị được trả lại bởi MemoryStoreQueue:ReadAsync() .
Lợi Nhuận
Mẫu mã
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