DataStoreService

Mostrar obsoleto

*Este contenido se traduce usando la IA (Beta) y puede contener errores. Para ver esta página en inglés, haz clic en aquí.

No creable
Servicio
No replicado

DataStoreService expone métodos para obtener GlobalDataStore y OrderedDataStore objetos.Los almacenes de datos solo se pueden acceder a través de los servidores del juego, por lo que solo puedes usar DataStoreService dentro de un Script o un ModuleScript que es utilizado por un Script .

Vea tiendas de datos para una guía detallada sobre la estructura de datos, la gestión, la gestión de errores, etc.

Muestras de código

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

Resumen

Propiedades

  • No replicado
    Seguridad de usuario local
    Leer paralelo

    Establece si las funciones de almacenamiento de datos deben reintentarse automáticamente o no.DataStoreService no respeta esta propiedad porque se ha desactivado el intento automático debido a razones técnicas.Por lo tanto, debe implementar sistemas para reintentar operaciones usted mismo.

Métodos

Propiedades

AutomaticRetry

No replicado
Seguridad de usuario local
Leer paralelo

Establece si las funciones de almacenamiento de datos deben reintentarse automáticamente o no.

DataStoreService no respeta esta propiedad porque se ha desactivado el intento automático debido a razones técnicas.Por lo tanto, debe implementar sistemas para reintentar operaciones usted mismo.Es posible que se vuelva a habilitar el intento automático de nuevo en el futuro.

Métodos

GetDataStore

Esta función crea una instancia DataStore con el nombre y alcance proporcionados.Llamadas posteriores a este método con el mismo nombre/escopo devolverán el mismo objeto.

El uso del parámetro scope restringirá las operaciones a ese alcance al prender automáticamente el alcance a las claves en todas las operaciones realizadas en el tiendade datos.Esta función también acepta una instancia opcional DataStoreOptions que incluye opciones para habilitar AllScopes .Vea Tiendas de datos para detalles sobre el alcance.

Parámetros

name: string

Nombre del tiendade datos.

Valor predeterminado: ""
scope: string

(Opcional) Una cadena que especifica el alcance.

Valor predeterminado: "global"
options: Instance

(Opcional) Una instancia DataStoreOptions para habilitar funciones experimentales y funciones de la API v2.

Valor predeterminado: "nil"

Devuelve

Una instancia DataStore con nombre proporcionado y alcance opcional.

GetGlobalDataStore

Esta función devuelve el predeterminado GlobalDataStore .Si desea acceder a un almacén de datos específico llamado en lugar, debe usar la función GetDataStore().

Tenga en cuenta que el DataStore devuelto por esta función siempre usa el alcance u . Vea Tiendas de datos para detalles sobre el alcance.


Devuelve

Muestras de código

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

Este método devuelve un OrderedDataStore , similar a la forma en que GetDataStore() hace con GlobalDataStores .Llamadas posteriores a este método con el mismo nombre/escopo devolverán el mismo objeto.

Parámetros

name: string
Valor predeterminado: ""
scope: string
Valor predeterminado: "global"

Devuelve

Muestras de código

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

Esta función devuelve el número de solicitudes de almacenamiento de datos que el lugar actual puede hacer en función del Enum.DataStoreRequestType dado.Cualquier solicitud que exceda este presupuesto está sujeta a un aceleramiento.Se recomienda monitorear y ajustar la frecuencia de las solicitudes de almacenamiento de datos usando esta función.

Parámetros

Valor predeterminado: ""

Devuelve

Muestras de código

Print Request Budget

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

Proporciona

Devuelve un objeto DataStoreListingPages para enumerar a través de todos los almacenes de datos de la experiencia.Acepta un parámetro opcional prefix para localizar solo almacenes de datos cuyos nombres comiencen con el prefijo proporcionado.

Solo se listarán los almacenes de datos que contengan al menos un objeto a través de esta función.

Parámetros

prefix: string

(Opcional) Prefijo para enumerar almacenes de datos que comienzan con el prefijo dado.

Valor predeterminado: ""
pageSize: number

(Opcional) Número de elementos a devolver en cada página.Si no se proporciona ningún valor, el motor envía un valor predeterminado de 0 al servicio de almacén de datos web, que a su vez predetermina 32 artículos por página.

Valor predeterminado: 0
cursor: string

(Opcional) cursor para continuar la iteración.

Valor predeterminado: ""

Devuelve

DataStoreListingPages instancia que contiene DataStoreInfo instancias que proporcionan detalles como el nombre, el tiempo de creación y el tiempo de actualización más reciente.

Eventos