DataStoreService

Veraltete anzeigen

*Dieser Inhalt wurde mit KI (Beta) übersetzt und kann Fehler enthalten. Um diese Seite auf Englisch zu sehen, klicke hier.

Nicht erstellbar
Dienst
Nicht repliziert

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.

DataStore Budget

local DataStoreService = game:GetService("DataStoreService")
for _, enumItem in pairs(Enum.DataStoreRequestType:GetEnumItems()) do
print(enumItem.Name, DataStoreService:GetRequestBudgetForRequestType(enumItem))
end

Zusammenfassung

Eigenschaften

  • Nicht repliziert
    Lokale Nutzersicherheit
    Parallel lesen

    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

Eigenschaften

AutomaticRetry

Nicht repliziert
Lokale Nutzersicherheit
Parallel lesen

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: string

Name des Store.

Standardwert: ""
scope: string

(Optional) Ein String, der den Umfang angibt.

Standardwert: "global"
options: Instance

(Optional) Eine DataStoreOptions aktivieren, um experimentelle Funktionen und v2-API-Funktionen zu aktivieren.

Standardwert: "nil"

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.

Get GlobalDataStore Instance

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

name: string
Standardwert: ""
scope: string
Standardwert: "global"

Rückgaben

Code-Beispiele

This code sample demonstrates usage of an OrderedDataStore and pages.

OrderedDataStore Basics

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

Standardwert: ""

Rückgaben

Code-Beispiele

Druckanforderungs-Budget drucken

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

Angehalten

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

prefix: string

(Optional) Präfix, um Datenstores aufzuzählen, die mit dem angegebenen Präfix beginnen.

Standardwert: ""
pageSize: number

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

Standardwert: 0
cursor: string

(Optional) Cursor, um die Iteration fortzusetzen.

Standardwert: ""

Rückgaben

DataStoreListingPages instanz, die DataStoreInfo instanzen enthält, die details wie name, erstellungszeit und zeit des letzten updates bereitstellen.

Ereignisse