대기열은 첫 번째 순위를 기준으로 항목의 컬렉션을 따르거나 우선 순위를 기준으로 요소를 읽거나 쓸 수 있는 직선 데이터 구조입니다. 메모리 스토어는 두 가지
메모리 스토어 큐는 사용자 정보를 기술 수준, 스킬 레벨 등의 순위에 따라 쉽게 일치하도록 하기 위해 유용합니다. 예를 들어, 사용자 정보를 센터 사용자 정보 저장소에 저장하도록 로비 장소를 시작 장소로 추가하고, 큐를
대기열 생성
대기열을 얻으려면 MemoryStoreService:GetQueue() 를 호출하여 경험 내에서 모든 스크립트에 액세스할 수 있는 이름 이름 을 가진 하나의 하위 이름을 가진 하위 이름을 가진 하위 이름을 가진 하위 이름을 가진 하위 이름을 가진
빈 큐 생성
local MemoryStoreService = game:GetService("MemoryStoreService")local queue = MemoryStoreService:GetQueue("Queue1")
대기열이 항목을 처리할 때 잠재적 숨김 시간이 적용되는 아이템, 다른 서버에서 처리하는 동안 이 항목이 보이지 않도록 하는 캐릭터 숨기기 기능이 적용됩니다. 잠재적 숨김 시간이
대기열을 받으면 다음 함수 중 하나를 호출하여 데이터를 읽거나 쓸 수 있습니다.After you get a queue, call any of the following functions to read or write data in it:
함수 | 액션 |
---|---|
MemoryStoreQueue:AddAsync() | 새로운 항목을 대기열에 추가합니다. |
MemoryStoreQueue:ReadAsync() | Read 한 개 이상의 큐에서 아이템을 단일 작업으로 읽습니다. |
MemoryStoreQueue:RemoveAsync() | 이전에 큐에서 읽은 하나 이상의 항목을 제거합니다. |
데이터 추가
새로운 항목을 대기열에 추가하려면 MemoryStoreQueue:AddAsync() 를 호출하여 아이템 값, 초 만료 시간 및 옵션 순위를 포함하여 아이템을 대기열에 추가합니다. 대기열을 FIFO 순서로 유지하려면 우선 순위를 비워둘 수 있습니다(아무 것도 패스) 또는 0 를
대기열에 데이터 추가
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
데이터 읽기 및 제거
Class.MemoryStoreQueue:ReadAsync()를 호출하여 큐에서 아이템을 읽으려면 아이템 번호를 나타내는 id를 반환합니다. 아이템을 처리한 후 즉시
루프로 큐에서 데이터 읽기 및 제거
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
-- 대기 처리 루프
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