DataStoreService 는 GlobalDataStore 및 OrderedDataStore 개체를 가져오는 메서드를 노출합니다.데이터 저장소는 게임 서버에서만 액세스할 수 있으므로 게임 서버에서만 DataStoreService 내에서 사용할 수 있고, 또는 Script 또는 ModuleScript 에서 사용되는 서버에서만 Script 을 사용할 수 있습니다.
데이터 저장소에 대한 자세한 가이드는 데이터 저장소를 참조하십시오. 데이터 구조, 관리, 오류 처리 등
코드 샘플
local DataStoreService = game:GetService("DataStoreService")
for _, enumItem in pairs(Enum.DataStoreRequestType:GetEnumItems()) do
print(enumItem.Name, DataStoreService:GetRequestBudgetForRequestType(enumItem))
end
요약
속성
데이터 저장소 함수가 자동으로 재시도해야 하는지 여부를 설정합니다.기술적인 이유로 자동 재시도가 비활성화되었기 때문에 DataStoreService는 이 속성을 존중하지 않습니다.따라서 작업을 재시도하기 위한 시스템을 직접 구현해야 합니다.
메서드
제공된 이름과 범위로 DataStore 인스턴스를 생성합니다.
기본 데이터 상점반환합니다.
이름과 선택적 범위가 제공된 OrderedDataStore를 가져옵니다.
지정된 요청 유형으로 만들 수 있는 요청 입력반환합니다.
경험의 모든 데이터 저장소를 열거하기 위한 DataStoreListingPages 개체를 반환합니다.
속성
AutomaticRetry
데이터 저장소 함수가 자동으로 재시도해야 하는지 여부를 설정합니다.
기술적인 이유로 자동 재시도가 비활성화되었기 때문에 DataStoreService는 이 속성을 존중하지 않습니다.따라서 작업을 재시도하기 위한 시스템을 직접 구현해야 합니다.자동 재시도가 미래에 다시 활성화될 가능성이 있습니다.
메서드
GetDataStore
이 함수는 제공된 이름과 범위로 DataStore 인스턴스를 생성합니다.동일한 이름/범위로 이 메서드에 대한 후속 호출은 동일한 개체를 반환합니다.
scope 매개 변수를 사용하면 데이터 상점수행된 모든 작업에서 범위를 자동으로 접두사로 추가하여 해당 범위로 작업을 제한할 수 있습니다.이 함수는 또한 DataStoreOptions 옵션을 포함하는 선택적 AllScopes 인스턴스를 수락합니다.범위에 대한 자세한 내용은 버전 관리, 목록 및 캐싱을 참조하십시오.
매개 변수
데이터 상점이름.
(옵션) 범위를 지정하는 문자열.
(옵션) 실험적 기능과 v2 API 기능을 활성화하기 위한 인스턴스 A DataStoreOptions
반환
GetGlobalDataStore
이 함수는 기본 GlobalDataStore를 반환합니다.특정 명명된 데이터 저장소에 액세스하려는 경우 GetDataStore() 함수를 사용해야 합니다.
이 함수에서 반환된 DataStore 는 항상 범위 u 를 사용합니다. 범위에 대한 자세한 내용은 데이터 저장소 를 참조하십시오.
반환
코드 샘플
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 매개 변수를 수락하여 제공된 접두사로 시작하는 데이터 저장소만 찾습니다.
이 함수를 통해 최소 하나의 개체가 포함된 데이터 저장소만 나열됩니다.
매개 변수
(옵션) 주어진 접두사로 시작하는 데이터 저장소를 열거하기 위한 접두사 prefix.
(옵션) 각 페이지에 반환될 아이템 수.값이 지정되지 않으면 엔진이 데이터 저장소 웹 서비스에 기본값인 0을 전송하고, 이는 페이지당 32개의 항목으로 기본값으로 설정됩니다.
(옵션) 반복을 계속하기 위한 커서.
반환
DataStoreListingPages 이름, 생성 시간 및 마지막 업데이트 시간과 같은 세부 정보를 제공하는 DataStoreInfo 인스턴스가 포함된 인스턴스입니다.