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 por servidores de juegos, por lo que solo puede usar 0> Class.DataStoreService0> dentro de un

Vea Almacenamiento de datos para obtener una guía en profundidad sobre la estructura de datos, la gestión, el manejo de errores, etc.

Muestras de código

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 el reintento automático ha sido desactivado por razones técnicas. Por lo tanto, debe implementar sistemas para reintentar operaciones por sí 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, debes implementar sistemas para reintentar operaciones por ti mismo. Es posible que se habilite el intento automático en el futuro.

Métodos

GetDataStore

Esta función crea una instancia de DataStore con el nombre y el alcance proporcionados. Las siguientes llamadas a este método con el mismo nombre/alcance devolverán el mismo objeto.

Usar el parámetro scope restringirá las operaciones a ese alcance al prender automáticamente el alcance a las claves en todas las operaciones que se realizan en el tiendade datos. Esta función también acepta una instancia opcional de DataStoreOptions que incluye opciones para habilitar AllScopes . Consulte 1> almacénes

Parámetros

name: string

Nombre del tiendade datos.

scope: string

(Opcional) Una cadena que especifica el alcance.

Valor predeterminado: "global"
options: Instance

(Opcional) A DataStoreOptions instancia para habilitar características experimentales y funciones de la API v2.

Valor predeterminado: "nil"

Devuelve

Una instancia de DataStore con el nombre y el alcance opcionales proporcionados.

GetGlobalDataStore

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


Devuelve

Muestras de código

Get GlobalDataStore Instance

local DataStoreService = game:GetService("DataStoreService")
local GlobalDataStore = DataStoreService:GetGlobalDataStore()
print(GlobalDataStore.Name)

GetOrderedDataStore

Este método返回一个 OrderedDataStore , similar al modo en que GetDataStore() hace con GlobalDataStores . Las siguientes llamadas a este método con el mismo nombre / alcance devolverán el mismo objeto.

Parámetros

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

Devuelve

Muestras de código

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返回当前位置可以根据指定的 Enum.DataStoreRequestType 做出的数据存储请求数量。任何超过此预算的请求都受到限制。监控和调整使用此函数的数据存储请求频率是有重点的。

Parámetros


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 los almacenes de datos cuyos nombres comienzan con el prefijo proporcionado.

Solo se almacenarán los datos que contengan al menos un objeto.

Parámetros

prefix: string

(Opcional) Prefijo para contar almacenamientos de datos que comienzan con el prefijo dado.

Valor predeterminado: ""
pageSize: number

(Opcional) Número de artículos que se devolverán en cada página. Por defecto es 32.

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, la hora de creación y el tiempo de actualización.

Eventos