GlobalDataStore

Pokaż przestarzałe

*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.

Brak możliwości tworzenia
Bez replikacji

A GlobalDataStore ujawnia funkcje zapisu i ładowania danych dla DataStoreService.

Zobacz magazyny danych dla kompleksowej przewodu po strukturze danych, zarządzaniu, korekcji błędów itp.

Przechowywane dane nie wspierają wersji i metadanych, więc DataStoreKeyInfo zawsze jest nil dla kluczy w OrderedDataStore. Jeśli potrzebujesz wsparcia dla wersji i metadanych, użyj 2>Class.DataStore2>.

Podsumowanie

Metody

Właściwości

Metody

GetAsync

Wynik

Funkcja ta zwraca najnowszą wartość dostarczonego klucza i instancję DataStoreKeyInfo. Jeśli klucz nie istnieje lub jeśli najnowsza wersja została oznaczona jako usunięta, obie wartości zwracają nil.

Klucze są przechowywane lokalnie przez 4 sekundy po pierwszym przeczytane. Wezwanie GlobalDataStore:GetAsync() w tych 4 sekundach zwraca wartość z kache GlobalDataStore:SetAsync() lub GlobalDataStore:UpdateAsync() . Modyfikacje klucza przez 1> Class.GlobalDataStore:SetAsync()1>

Aby uzyskać określoną wersję, taką jak wersja przed najnowszą, użyj DataStore:GetVersionAsync() .

Parametry

key: string

Nazwa klucza, dla której wartość jest proszona. Jeśli DataStoreOptions.AllScopes został ustawiony na prawdę podczas dostępu do magazynu danych poprzez DataStoreService:GetDataStore(), ten klucz musi być zapisany z oryginalnym zakresem, jak w " scope/key".

Wartość domyślna: "nil"

Zwroty

Wartość wpisu w magazynie danych z kluczem podanym i instancją DataStoreKeyInfo, która zawiera numer wersji, datę i czas utworzenia wersji i funkcje do odzyskiwania UserIds i metadanych.

IncrementAsync

Variant
Wynik

Funkcja ta zwiększa wartość klucza o podanych wartościach (obie muszą być liczbami całkowitymi).

OrderedDataStore nie wspiera wersji, więc wezwanie metody na kluczu OrderedDataStore zastąpi obecną wartość poprzez wartość zwiększoną i uczyni poprzednie wersje niedostępnymi.

Parametry

key: string

Nazwa klucza dla której wartość powinna być aktualizowana. Jeśli DataStoreOptions.AllScopes został ustawiony na prawdę, gdy uzyskuje się dostęp do magazynu danych poprzez DataStoreService:GetDataStore(), ten klucz musi być zapisany z oryginalnym zakresem, jak w " scope / key".

delta: number

Ilość do zwiększenia bieżącej wartości o.

Wartość domyślna: 1
userIds: Array

(Opcjonalne) Tabela UserIds do związania z kluczem.

Wartość domyślna: "{}"

(Opcjonalne) DataStoreIncrementOptions instancja, która łączy wiele dodatkowych parametrów jako możliwości dostosowania i umożliwia przyszłościową rozszerzenie.

Wartość domyślna: "nil"

Zwroty

Variant

Aktualna wartość wpisu w magazynie danych z kluczem podanym.

RemoveAsync

Wynik

Funkcja ta oznacza określony klucz jako usunięty poprzez utworzenie nowej wersji "tombstone" klucza. Przed tym zwraca najnowszą wersję przed wezwanie usunięcia.

Po usunięciu klucza za pomocą tej funkcji, GlobalDataStore:GetAsync() wzywa do kluczu nil . Starsze wersje klucza pozostają dostępne poprzez DataStore:ListVersionsAsync() i 1> Class.DataStore:GetVersionAsync()1>, z założeniem, że nie wygasły.

OrderedDataStore nie wspiera wersji, więc wezwanie RemoveAsync() na kluczu OrderedDataStore usunie go permanentnie.

Usunięte obiekty zostaną usunięte permanentnie po 30 dniach.

Jeśli poprzednie wartości zostały już usunięte za pośrednictwem GlobalDataStore:RemoveAsync() lub DataStore:RemoveVersionAsync(), funkcja zwraca nil , 1> nil1> dla wartości i 4> Class.DataStoreKeyInfo4> dla klucza.

Parametry

key: string

Nazwa klucza do usunięcia. Jeśli DataStoreOptions.AllScopes został ustawiony na prawdę, gdy uzyskujesz dostęp do magazynu danych poprzez DataStoreService:GetDataStore(), ten klucz musi być zapisany z oryginalnym zakresem, jak w " scope / key".


Zwroty

Wartość magazynu danych przed usunięciem i instancji DataStoreKeyInfo, która zawiera numer wersji, datę i czas utworzenia wersji i funkcje do odzyskiwania UserIds i metadanych.

SetAsync

Variant
Wynik

Funkcja ta ustawia najnowszą wartość, UserIds , i metadane dla podanego klucza.

Wartości w magazynach danych są zalecone, co oznacza, że GlobalDataStore:SetAsync() stworzy nową wersję za każdym razem, gdy jest ona wywołana. Poprzednie wersje można uzyskać poprzez DataStore:ListVersionsAsync() / DataStore:GetVersionAsync() dla do 30 dni, w których są one trwale usuw

OrderedDataStore nie wspiera wersji, więc wezwanie metody na kluczu OrderedDataStore zastąpi obecną wartość i uczyni poprzednie wersje niedostępne.

Definicje metadanych muszą zawsze być aktualizowane wraz z wartością, nawet jeśli nie ma zmian w obecnej wartości; w przeciwnym razie obecna wartość zostanie utracona.

Każda wartość przechowywana w magazynie danych musi być ważna UTF-8 . W UTF-8 wartości większe niż 127 są wykorzystywane wyłącznie do kodowania wielobajtowych punktów kodu, więc pojedynczy bajt większy niż 127 nie będzie ważny UTF-8 i próba Class.GlobalDataStore:Set

Ustaw vs. Aktualizacja

GlobalDataStore:SetAsync() jest najlepszy dla szybkiej aktualizacji określonego klucza i tylko liczy się na limit write. Jest jednak możliwe, że powoduje błędy danych, jeśli dwa serwery próbują ustawić ten sam klucz w tym samym czasie. <

Parametry

key: string

Nazwa klucza dla której wartość powinna być ustawiać. Jeśli DataStoreOptions.AllScopes został ustawiony na prawdę podczas dostępu do magazynu danych poprzez DataStoreService:GetDataStore(), ten klucz musi być zapisany z oryginalnym zakresem, jak w " scope / key".

value: Variant

Wartość, do której zostanie ustawiony klucz magazynu danych.

userIds: Array

Tabela z UserIds , bardzo rekomendowana do pomocy w śledzeniu/usuwaniu danych zgodnych z GDPR.

Wartość domyślna: "{}"

(Opcjonalne) DataStoreSetOptions instancja, która umożliwia specyfikację metadanych na kluczu.

Wartość domyślna: "nil"

Zwroty

Variant

Unikalny identyfikator wersji. Można go użyć do odzyskiwania informacji kluczowych używając GetVersionAsync() lub usunąć go używając RemoveVersionAsync() .

UpdateAsync

Wynik

Funkcja ta odczytuje wartość i metadane klucza z magazynu danych i aktualizuje je nową wartością określoną przez funkcję zwrotu. Jeśli funkcja zwrotu zwraca nil, operacja zapisu jest anulowana, a wartość pozostaje nienaruszona.

Jeśli aktualizacja się powiodła, nowa wersja wartości zostanie utworzona, a poprzednie wersje będą dostępne poprzez DataStore:ListVersionsAsync() i DataStore:GetVersionAsync() .

OrderedDataStore nie wspiera wersji, więc wezwanie funkcji na kluczu OrderedDataStore zastąpi obecną wartość i utworzy poprzednie wersje niedostępne.

W przypadkach, gdy inny serwer aktualizował klucz w krótkim okresie czasu między odzyskaniem aktualnej wartości kluczu i ustawieniem wartości klucza, GlobalDataStore:UpdateAsync() będzie ponownie wzywał funkcję, odrzucając wynik poprzedniego wezwania. Funkcja zostanie ponown

Każda wartość przechowywana w magazynie danych musi być ważna UTF-8 . W UTF-8 wartości większe niż 127 są wykorzystywane wyłącznie do kodowania wielobajtowych punktów kodu, więc pojedynczy bajt większy niż 127 nie będzie ważny UTF-8 i próba Class.GlobalDataStore:Update

Ustaw vs. Aktualizacja

GlobalDataStore:SetAsync() jest najlepszy dla szybkiej aktualizacji określonego klucza i tylko liczy się na limit write. Jest jednak możliwe, że powoduje błędy danych, jeśli dwa serwery próbują ustawić ten sam klucz w tym samym czasie. <

Funkcja zwrotu

Funkcja zwrotu dzwonka przyjmuje dwa argumenty:

  • Aktualna wartość klucza przed aktualizacja.
  • DataStoreKeyInfo instancja, która zawiera najnowsze informacje o wersji (ten argument można ignorować, jeśli metadane nie są używane).

Z kolei funkcja zwrotu w callback zwraca do trzech wartości:

  • Nowa wartość do ustawienia dla klucza.
  • Materiały UserIds do związania z kluczem. DataStoreKeyInfo:GetUserIds() powinien zostać zwrócony, chyba że istniejące ID nie są zmieniane; w przeciwnym razie wszystkie istniejące ID zostaną usunięte.
  • Tabela Lua zawierająca metadane do związania z kluczem. DataStoreKeyInfo:GetMetadata() powinien zostać zwrócony, chyba że istniejące metadane nie są zmieniane; w przeciwnym razie wszystkie istniejące metadane zostaną usunięte.

Jeśli funkcja zwrotu nil zamiast tego zatrzyma się próbując aktualizacji klucza, serwer będzie nadal próbować go aktualizować.

Funkcja zwrotu nie może zwrócić, więc nie włączaj łączące takie jak task.wait().

Parametry

key: string

Nazwa klucza dla której wartość powinna być aktualizowana. Jeśli DataStoreOptions.AllScopes został ustawiony na prawdę, gdy uzyskuje się dostęp do magazynu danych poprzez DataStoreService:GetDataStore(), ten klucz musi być zapisany z oryginalnym zakresem, jak w " scope / key".

transformFunction: function

Transformacja funkcji, która odbiera obecną wartość i DataStoreKeyInfo jako parametry i w zwrotuje nową wartość wraz z opcjonalnymi UserIds i metadanymi.


Zwroty

Aktualna wartość wpisu w magazynie danych z kluczem podanym i instancją DataStoreKeyInfo, która zawiera numer wersji, datę i czas utworzenia wersji i funkcje do odzyskiwania UserIds i metadanych.

Zdarzenia