DataStoreService
*Ta zawartość została przetłumaczona przy użyciu narzędzi AI (w wersji beta) i może zawierać błędy. Aby wyświetlić tę stronę w języku angielskim, kliknij tutaj.
DataStoreService wyświetla metody uzyskiwania GlobalDataStore i OrderedDataStore obiektów. Data store może być dostępny tylko przez serwery gry, więc możesz używać tylko 0> Class.DataStore
Zobacz magazyny danych dla kompleksowej przewodu po strukturze danych, zarządzaniu, korekcji błędów itp.
Przykłady kodu
local DataStoreService = game:GetService("DataStoreService")
for _, enumItem in pairs(Enum.DataStoreRequestType:GetEnumItems()) do
print(enumItem.Name, DataStoreService:GetRequestBudgetForRequestType(enumItem))
end
Podsumowanie
Właściwości
Ustawia, czy funkcje przechowywania danych powinny automatycznie ponownie próbować lub nie. DataStoreService nie szanuje tej właściwości, ponieważ automatyczne ponowne próbowanie zostało wyłączone z powodów technicznych. W związku z tym musisz wdrożyć systemy do ponownego próbowania operacji samodzielnie.
Metody
Tworzy instancję DataStore z podanym nazwą i zakresem.
Zwraca domyślną sklepdanych.
Zdobądź OrderedDataStore z podanym imieniem i opcjonalnym zakresem.
Wyświetla liczbę zgłoszeń, które można złożyć przez dany wpisywaćprośby.
Zwraca obiekt DataStoreListingPages do wyszukiwania wszystkich przechowywanych danych doświadczenia.
Właściwości
AutomaticRetry
Ustawia, czy funkcje przechowywania danych powinny automatycznie ponownie próbować lub nie.
DataStoreService nie szanuje tego właściwości, ponieważ automatyczne ponowne próby zostały wyłączone z technicznych powodów. Dlatego musisz wdrożyć systemy do ponownego uruchamiania operacji samodzielnie. Możliwe, że automatyczne ponowne próby zostaną ponownie włączone w przyszłości.
Metody
GetDataStore
Funkcja ta tworzy instancję DataStore z podanym nazwą i zakresem. Kolejne wezwania do tej metody z tego samego nazwiska/zakresu zwrócą ten sam obiekt.
Używanie parametru scope ograniczy operacje do tego zakresu poprzez automatyczne przedłużanie zakresu do kluczy w wszystkich operacjach wykonanych na danych. Ta funkcja akceptuje również opcjonalną instancję DataStoreOptions, która włącza opcje włączenia Class.DataStoreOptions.AllScopes|AllScopes</
Parametry
Nazwa sklepdanych.
(Opcjonalne) Strings spełniające zakres.
(Opcjonalne) A DataStoreOptions instance to enable experimental features and v2 API features.
Zwroty
GetGlobalDataStore
Funkcja ta zwraca domyślny GlobalDataStore . Jeśli chcesz uzyskać dostęp do określonego nazwane magazynu danych, powinieneś użyć funkcji GetDataStore().
Zwroty
Przykłady kodu
local DataStoreService = game:GetService("DataStoreService")
local GlobalDataStore = DataStoreService:GetGlobalDataStore()
print(GlobalDataStore.Name)
GetOrderedDataStore
Ten metod returnuje OrderedDataStore, podobny do sposób, w jaki GetDataStore() robi z GlobalDataStores . Dalsze wezwania do tego metodu z tego samego nazwy/składu zwrócą tę samą obiekt.
Parametry
Zwroty
Przykłady kodu
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
Funkcja ta wstępnie zwraca liczbę żądań dostępu do magazynu danych, które może zrobić obecne miejsce na podstawie zaznaczonego Enum.DataStoreRequestType. Każde zgłoszenie z tych wniosków jest podlegane ograniczeniu. Monitorowanie i dostosowywanie częstotliwości wniosków o dostęp do magazynu danych za pomocą tej funkcji jest zalecane.
Parametry
Zwroty
Przykłady kodu
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
Zwraca obiekt DataStoreListingPages do liczenia poprzez wszystkie przechowywane dane w całym doświadczeniu. Występuje opcjonalny parametr prefix do lokalizacji tylko przechowywanych danych, które zaczynają się od podanego przedrostu.
Tylko magazyny danych zawierające co najmniej jeden obiekt zostaną wymienione za pośrednictwem tej funkcji.
Parametry
(Opcjonalne) Prefix do liczenia magazynów danych, które zaczynają się od podanego przedrostka.
(Opcjonalne) Liczba pozycji do zwrócenia na każdej stronie. Domyślnie jest 32.
(Opcjonalne) Kursorek, aby kontynuować cykl.
Zwroty
DataStoreListingPages instancja zawierająca DataStoreInfo instancje, które dostarczają szczegóły, takie jak imię, czas utworzenia i czas ostatniego aktualizowania.