DataStoreService

Mostrar obsoleto

*Este conteúdo é traduzido por IA (Beta) e pode conter erros. Para ver a página em inglês, clique aqui.

Não criável
Serviço
Não 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.

Amostras 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

Resumo

Propriedades

  • Não replicado
    Segurança do usuário local
    Ler Parallel

    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

Propriedades

AutomaticRetry

Não replicado
Segurança do usuário local
Ler Parallel

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 Padrão: "global"
options: Instance

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

Valor Padrão: "nil"

Devolução

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


Devolução

Amostras 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 Padrão: "global"

Devolução

Amostras 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


Devolução

Amostras 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

Rendimentos

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 Padrão: ""
pageSize: number

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

Valor Padrão: 0
cursor: string

(Opcional) Cursor para continuar la iteración.

Valor Padrão: ""

Devolução

DataStoreListingPages instancia que contiene DataStoreInfo instancias que proporcionan detalles como el nombre, la hora de creación y el tiempo de actualización.

Eventos