DataStoreService
*Dieser Inhalt wurde mit KI (Beta) übersetzt und kann Fehler enthalten. Um diese Seite auf Englisch zu sehen, klicke hier.
DataStoreService stellt Methoden bereit, um GlobalDataStore und OrderedDataStore Objekte zu erhalten.Datenspeicher können nur von Spielservern aufgerufen werden, sodass du nur DataStoreService innerhalb eines Script oder eines ModuleScript, das von einem Script verwendet wird, zugreifen kannst.
Siehe Datenspeicher für einen umfassenden Leitfaden über Datenstruktur, Management, Fehlerbehandlung usw.
Code-Beispiele
This code sample prints the request budget for all data store request types.
local DataStoreService = game:GetService("DataStoreService")
for _, enumItem in pairs(Enum.DataStoreRequestType:GetEnumItems()) do
print(enumItem.Name, DataStoreService:GetRequestBudgetForRequestType(enumItem))
end
Zusammenfassung
Eigenschaften
Legt fest, ob Datenlagersfunktionen automatisch erneut versuchen sollen oder nicht.DataStoreService respektiert diese Eigenschaft nicht, weil automatisches Wiederholen aufgrund technischer Gründe deaktiviert wurde.Daher musst du Systeme implementieren, um Operationen erneut auszuführen.
Methoden
Erstellt eine DataStore.
Gibt den Storezurück.
Holen Sie sich ein OrderedDataStore, gegeben einen Namen und optionale Reichweite.
Gibt die Anzahl der Anfragen zurück, die durch den angegebenen eingebengestellt werden können.
Gibt ein DataStoreListingPages-Objekt zurück, um durch alle Datenstores des Erlebnisses zu durchsuchen.
Eigenschaften
AutomaticRetry
Legt fest, ob Datenlagersfunktionen automatisch erneut versuchen sollen oder nicht.
DataStoreService respektiert diese Eigenschaft nicht, weil automatisches Wiederholen aufgrund technischer Gründe deaktiviert wurde.Daher musst du Systeme implementieren, um Operationen erneut auszuführen.Es ist möglich, dass automatische Wiederholungsversuche in Zukunft wieder aktiviert werden.
Methoden
GetDataStore
Diese Funktion erstellt eine DataStore.Subsequente Aufrufe dieser Methode mit demselben Namen/Umfang werden dasselbe Objekt zurückgeben.
Die Verwendung des scope Parameters wird Operationen auf diesen Bereich beschränken, indem der Bereich automatisch vor den Schlüsseln in allen auf dem Storedurchgeführten Operationen angefügt wird.Diese Funktion akzeptiert auch eine optionale DataStoreOptions Instanz, die Optionen für die Aktivierung von AllScopes enthält.Siehe Versionsierung, Listen und Zwischenspeicherung für Details zum Umfang.
Parameter
Name des Store.
(Optional) Ein String, der den Umfang angibt.
(Optional) Eine DataStoreOptions aktivieren, um experimentelle Funktionen und v2-API-Funktionen zu aktivieren.
Rückgaben
GetGlobalDataStore
Diese Funktion gibt die Standard-GlobalDataStore zurück.Wenn du stattdessen auf einen bestimmten benannten Datenstore zugreifen möchtest, solltest du die GetDataStore().
Beachten Sie, dass die von dieser Funktion zurückgegebene DataStore immer den Umfang u verwendet. Siehe Datenbanken für Details zum Umfang.
Rückgaben
Code-Beispiele
The following example retrieves a default data store instance which behaves like a regular Instance. Since a GlobalDataStore is an Instance, functions such as GlobalDataStore:GetChildren() will execute without error.
local DataStoreService = game:GetService("DataStoreService")
local GlobalDataStore = DataStoreService:GetGlobalDataStore()
print(GlobalDataStore.Name)
GetOrderedDataStore
Diese Methode gibt eine OrderedDataStore zurück, ähnlich wie die Methode GetDataStore() mit GlobalDataStores funktioniert.Subsequente Aufrufe dieser Methode mit demselben Namen/Umfang werden dasselbe Objekt zurückgeben.
Parameter
Rückgaben
Code-Beispiele
This code sample demonstrates usage of an OrderedDataStore and pages.
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
Diese Funktion gibt die Anzahl der Datenlagernanfragen zurück, die der aktuelle Ort aufgrund der angegebenen Enum.DataStoreRequestType machen kann.Alle Anfragen, die dieses Budget überschreiten, werden gedrosselt.Die Überwachung und Anpassung der Häufigkeit von Datenlagersanfragen mit dieser Funktion wird empfohlen.
Parameter
Rückgaben
Code-Beispiele
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
Gibt ein DataStoreListingPages-Objekt zurück, um durch alle Datenstores des Erlebnisses zu durchsuchen.Es akzeptiert einen optionalen prefix Parameter, um nur Datenstores zu finden, deren Namen mit dem angegebenen Präfix beginnen.
Nur Datenbanken, die mindestens ein Objekt enthalten, werden über diese Funktion aufgelistet.
Parameter
(Optional) Präfix, um Datenstores aufzuzählen, die mit dem angegebenen Präfix beginnen.
(Optional) Anzahl der Elemente, die auf jeder Seite zurückgegeben werden.Wenn kein Wert angegeben wird, sendet die Engine einen Standardwert von 0 an den Datenbank-Webdienst, der wiederum 32 Elemente pro Seite standardmäßig verwendet.
(Optional) Cursor, um die Iteration fortzusetzen.
Rückgaben
DataStoreListingPages instanz, die DataStoreInfo instanzen enthält, die details wie name, erstellungszeit und zeit des letzten updates bereitstellen.