DataStoreService 는 GlobalDataStore 및 OrderedDataStore 개체를 가져오는 메서드를 노출합니다. 데이터 스토어는 게임 서버에서만 액세스할 수 있으므로 게임 서버
데이터 구조, 관리, 오류 처리 등에 대한 자세한 내용은 데이터 저장소를 참조하십시오.
코드 샘플
local DataStoreService = game:GetService("DataStoreService")
for _, enumItem in pairs(Enum.DataStoreRequestType:GetEnumItems()) do
print(enumItem.Name, DataStoreService:GetRequestBudgetForRequestType(enumItem))
end
요약
속성
데이터 저장소 기능이 자동으로 다시 시도해야 하는지 여부를 설정합니다. DataStoreService는 이 속성을 유지하지 않기 때문에 자동 다시 시도를 사용하지 않습니다. 따라서 사용자가 직접 다시 시도해야 합니다.
메서드
지정된 이름과 범위를 가진 DataStore 인스턴스를 생성합니다.
기본 데이터 상점반환합니다.
Class.OrderedDataStore 에 이름과 선택적 범위를 지정합니다.
지정된 요청 유형으로 할 수 있는 요청의 입력반환합니다.
경험의 모든 데이터 저장소를 열거하려면 하나의 DataStoreListingPages 개체를 반환합니다.
속성
AutomaticRetry
데이터 저장소 함수가 자동으로 다시 시도되어야 하는지 여부를 설정합니다.
DataStoreService는 기술적 이유로 자동 재시도가 비활성화되었기 때문에 이 속성을 존중하지 않습니다. 따라서 자신이 재시도 작업을 수행하는 시스템을 구현해야 합니다. 자동 재시도가 나중에 다시 활성화될 수 있습니다.
메서드
GetDataStore
이 함수는 제공된 이름과 범위로 DataStore 인스턴스를 생성합니다. 이 메서드에 대한 후속 호출에서 동일한 개체를 반환합니다.
scope 매개 변수를 사용하면 데이터 상점수행된 모든 작업에 대해 해당 범위로 작업을 제한하도록 스코프를 자동으로 키에 대기하게 합니다. 이 함수는 스코프를 활성화하도록 하는 옵션을 포함하는 선택적인 Class
매개 변수
데이터 상점이름입니다.
(옵션) 범위를 지정하는 문자열.
(옵션)) 경험적 기능 및 v2 API 기능을 활성화하기 위한 DataStoreOptions 인스턴스.
반환
Class.DataStore 인스턴스와 옵션 범위를 지정한 이름을 가진 인스턴스.
GetGlobalDataStore
이 함수는 기본적으로 다음을 반환합니다. GlobalDataStore 이 경우 특정 이름의 데이터 저장소에 액세스하려면 Class.DataStoreService:GetDataStore()|GetDataStore() 함수를 사용해야 합니다.
반환
코드 샘플
local DataStoreService = game:GetService("DataStoreService")
local GlobalDataStore = DataStoreService:GetGlobalDataStore()
print(GlobalDataStore.Name)
GetOrderedDataStore
이 메서드는 OrderedDataStore 를 반환하지만, GetDataStore() 와 같이, GlobalDataStores 에 대한 후속 호출에 대해 동일한 개체를 반환합니다.
매개 변수
반환
코드 샘플
local DataStoreService = game:GetService("DataStoreService")
local pointsStore = DataStoreService:GetOrderedDataStore("Points")
local function printTopTenPlayers()
local isAscending = false
local pageSize = 10
local pages = pointsStore:GetSortedAsync(isAscending, pageSize)
local topTen = pages:GetCurrentPage()
-- The data in 'topTen' is stored with the index being the index on the page
-- For each item, 'data.key' is the key in the OrderedDataStore and 'data.value' is the value
for rank, data in ipairs(topTen) do
local name = data.key
local points = data.value
print(name .. " is ranked #" .. rank .. " with " .. points .. "points")
end
-- Potentially load the next page...
--pages:AdvanceToNextPageAsync()
end
-- Create some data
pointsStore:SetAsync("Alex", 55)
pointsStore:SetAsync("Charley", 32)
pointsStore:SetAsync("Sydney", 68)
-- Display the top ten players
printTopTenPlayers()
GetRequestBudgetForRequestType
이 함수는 현재 장소가 제공하는 Enum.DataStoreRequestType 에 따라 데이터 저장소 요청의 수를 반환합니다. 이 예산을 초과하는 요청은 제한됩니다. 이 함수를 사용하여 데이터 저장소 요청의 주기를 모니터링하고 조정하는 것이 좋습니다.
매개 변수
반환
코드 샘플
local DataStoreService = game:GetService("DataStoreService")
local globalStore = DataStoreService:GetGlobalDataStore()
local function printBudget()
local budget = DataStoreService:GetRequestBudgetForRequestType(Enum.DataStoreRequestType.SetIncrementAsync)
print("Current set/increment budget:", budget)
end
for i = 1, 5 do
local key = "key" .. i
local success, err = pcall(function()
globalStore:SetAsync(key, true)
end)
if success then
printBudget()
else
print(err)
end
end
ListDataStoresAsync
경험의 모든 데이터 저장소를 열거하려는 경우 DataStoreListingPages 개체를 반환합니다. prefix 옵션 매개 변수를 사용하여 제공된 접두어명으로 시작하는 데이터 저장소만 찾습니다.
이 함수를 사용하여 하나 이상의 개체가 포함된 데이터 저장소만 목록에 나타납니다.
매개 변수
(옵션) 지정된 접두어로 시작하는 데이터 저장소를 열거하는 접두어 접두어.
(옵션) 각 페이지에 반환할 항목의 수입니다. 기본적으로 32입니다.
(옵션) 커서를 사용하여 반복을 계속합니다.
반환
DataStoreListingPages 인스턴스에는 다음과 같은 세부 정보를 제공하는 DataStoreInfo 인스턴스가 포함되어 있습니다.