DataStore
*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.
Zobacz Magazyny danych.
Podsumowanie
Metody
Zwraca określoną wersję klucza.
Zwraca wersję klucza, która była aktualna w określonym momencie.
- ListKeysAsync(prefix : string,pageSize : number,cursor : string,excludeDeleted : boolean):DataStoreKeyPages
Zwraca obiekt DataStoreKeyPages na wyszukiwanie przez klucze sklepdanych.
- ListVersionsAsync(key : string,sortDirection : Enum.SortDirection,minDate : number,maxDate : number,pageSize : number):DataStoreVersionPages
Wymienia wszystkie wersje klucza.
Stałe usuwanie określonej wersji klucza.
Zwraca wartość klucza w określonym magazynie danych i instancji DataStoreKeyInfo.
- IncrementAsync(key : string,delta : number,userIds : Array,options : DataStoreIncrementOptions):Variant
Zwiększa wartość klucza o podany wynik (oba muszą być liczbami całkowitymi).
Usuwa określony klucz, zachowując jednocześnie dostępną wersję.
Ustawia wartość magazynu danych dla podanego klucza.
Aktualizuje wartość klucza za pomocą nowej wartości z określonej funkcji powrotnej.
Właściwości
Metody
GetVersionAsync
Funkcja ta odzyskuje określoną wersję klucza, a także instancję DataStoreKeyInfo.Identyfikator wersji można znaleźć za pomocą DataStore:ListVersionsAsync() lub alternatywnie może być identyfikatorem zwrotnym przez GlobalDataStore:SetAsync().
Parametry
Nazwa klucza, dla której wymagane są informacje o wersji.Jeśli DataStoreOptions.AllScopes został ustawiony na prawdę przy uzyskiwaniu przechowywania danych za pośrednictwem DataStoreService:GetDataStore() , nazwa klucza musi być dodana z oryginalnym zakresem, jak w "scope/key".
Numer wersji klucza, dla którego wymagane są informacje o wersji.
Zwroty
Wartość klucza w określonej wersji i instancja DataStoreKeyInfo, która zawiera numer wersji, datę i czas, w którym wersja została utworzona, oraz funkcje do odzyskania UserIds i metadanych.
GetVersionAtTimeAsync
Funkcja ta odzyskuje wersję klucza, która była aktualna w określonym czasie, a także instancjaDataStoreKeyInfo.
Parametry
Nazwa klucza, dla której wymagane są informacje o wersji.Jeśli DataStoreOptions.AllScopes został ustawiony na prawdę przy uzyskiwaniu przechowywania danych za pośrednictwem DataStoreService:GetDataStore() , nazwa klucza musi być dodana z oryginalnym zakresem, jak w "scope/key".
Data czasu Unix w milisekundach, w których żądana wersja była aktualna.Musi być większy niż zero.Nie może być więcej niż dziesięć minut w przyszłości.
Zwroty
Wartość klucza, który był aktualny w określonym czasie i instancja DataStoreKeyInfo, która zawiera numer wersji, datę i czas, w którym wersja została utworzona, oraz funkcje do odzyskania UserIds i metadanych.nil jeśli żadna dostępna wersja nie była aktualna w czasie żądania.
Przykłady kodu
The following code sample retrieves data store key versions using timestamps.
local DataStoreService = game:GetService("DataStoreService")
local dataStore = DataStoreService:GetDataStore("DataStore")
local key = "key-123"
function setData(data)
local success, result = pcall(function()
dataStore:SetAsync(key, data)
end)
if not success then
warn(result)
end
end
function getVersionAtTime(timestamp)
local success, result, keyInfo = pcall(function()
return dataStore:GetVersionAtTimeAsync(key, timestamp.UnixTimestampMillis)
end)
if success then
if result == nil then
print("No version found at time")
else
print(result, keyInfo.Version)
end
else
warn(result)
end
end
-- Previously ran at 2024/12/02 6:00 UTC
setData("version 1")
-- Previously ran at 2024/12/02 9:00 UTC
setData("version 2")
-- Prints "No version found at time"
local time1 = DateTime.fromUniversalTime(2024, 12, 02, 05, 00)
getVersionAtTime(time1)
-- Prints "version 1 <version>"
local time2 = DateTime.fromUniversalTime(2024, 12, 02, 07, 00)
getVersionAtTime(time2)
-- Prints "version 2 <version>"
local time3 = DateTime.fromUniversalTime(2024, 12, 02, 10, 00)
getVersionAtTime(time3)
ListKeysAsync
Funkcja ta zwraca obiekt DataStoreKeyPages do wyszukiwania przez klucze sklepdanych.Akceptuje opcjonalny parametr prefix opcjonalny, aby zlokalizować tylko klucze, których nazwy zaczynają się od podanego prefiksu.
Jeśli DataStoreOptions.AllScopes został ustawiony na prawdę podczas uzyskiwania przechowywania danych za pośrednictwem DataStoreService:GetDataStore(), klucze zostaną zwrócone ze wszystkimi zakresami jako prefiksami.
Parametry
(Opcjonalnie) Prefix do użycia do lokalizacji kluczy.
(Opcjonalnie) Liczba przedmiotów, które mają być zwrócone na każdej stronie.Jeśli nie podano żadnej wartości, silnik wysyła domyślną wartość 0 do usługi przechowywania danych, która z kolei domyślnie wynosi 50 przedmiotów na stronę.
(Opcjonalnie) Cursor, aby kontynuować iterację.
(Opcjonalnie) Wyklucz usunięte klucze z powrotem.
Po włączeniu ListKeys sprawdzi do 512 kluczy.Jeśli wszystkie wybrane klucze zostaną usunięte, zwróci pustą listę z kursoром, aby kontynuować iterację.
Zwroty
Instancja DataStoreKeyPages, która wymienia klucze jako DataStoreKey instancje.
ListVersionsAsync
Funkcja ta wymienia wersje określonego klucza w kolejności malejącej lub rosnącej, określonej przez parametr Enum.SortDirection.Może opcjonalnie filtrować zwrócone wersje przez minimalny i maksymalny czas trwania.
Parametry
Nazwa klucza dla wersji do wymienienia.Jeśli DataStoreOptions.AllScopes został ustawiony na prawdę przy uzyskiwaniu przechowywania danych za pośrednictwem DataStoreService:GetDataStore() , nazwa klucza musi być dodana z oryginalnym zakresem, jak w "scope/key".
(Opcjonalnie) Enum określający kolejność sortowania rosnącą lub malejącą.
(Opcjonalnie) Zeit戳 Unix w milisekundach po których wersje powinny być wyświetlane.
(Opcjonalnie) Zeit戳 Unix w milisekundach, do których wersje powinny być wyświetlane.
(Opcjonalnie) Liczba przedmiotów, które mają być zwrócone na każdej stronie.Jeśli nie podano żadnej wartości, silnik wysyła domyślną wartość 0 do usługi przechowywania danych, co z kolei domyślnie wynosi 1024 przedmiotów na stronę.
Zwroty
Instancja DataStoreVersionPages, która wymienia wszystkie wersje klucza jako DataStoreObjectVersionInfo instancje.
Przykłady kodu
The following code sample retrieves all versions after a specified starting time, sorted in ascending order.
local DataStoreService = game:GetService("DataStoreService")
local experienceStore = DataStoreService:GetDataStore("PlayerExperience")
local time = DateTime.fromUniversalTime(2020, 10, 09, 01, 42)
local listSuccess, pages = pcall(function()
return experienceStore:ListVersionsAsync("User_1234", nil, time.UnixTimestampMillis)
end)
if listSuccess then
local items = pages:GetCurrentPage()
for key, info in pairs(items) do
print("Key:", key, "; Version:", info.Version, "; Created:", info.CreatedTime, "; Deleted:", info.IsDeleted)
end
end
RemoveVersionAsync
Funkcja ta permanentnie usuwa określoną wersję klucza. Identyfikatory wersji można znaleźć za pomocą DataStore:ListVersionsAsync() .
W przeciwieństwie do GlobalDataStore:RemoveAsync() funkcja ta nie tworzy nowej wersji "grobowca" i usunięta wartość nie może zostać odzyskana później.
Parametry
Nazwa klucza, dla której ma zostać usunięta wersja.Jeśli DataStoreOptions.AllScopes został ustawiony na prawdę przy uzyskiwaniu przechowywania danych za pośrednictwem DataStoreService:GetDataStore() , nazwa klucza musi być dodana z oryginalnym zakresem, jak w "scope/key".
Numer wersji klucza do usuwać, wyjmować.