DataStoreService
*Este conteúdo é traduzido por IA (Beta) e pode conter erros. Para ver a página em inglês, clique aqui.
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
local DataStoreService = game:GetService("DataStoreService")
for _, enumItem in pairs(Enum.DataStoreRequestType:GetEnumItems()) do
print(enumItem.Name, DataStoreService:GetRequestBudgetForRequestType(enumItem))
end
Resumo
Propriedades
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
Crea una instancia de DataStore con el nombre y el alcance proporcionados.
Devuelve el tiendade datos predeterminado.
Obtener un OrderedDataStore con un nombre y un alcance opcional.
Devuelve el número de solicitudes que se pueden hacer por el introducirde solicitud proporcionado.
Retorna un objeto de Class.DataStoreListingPages para enumerar a través de todos los almacenes de datos de la experiencia.
Propriedades
AutomaticRetry
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
Nombre del tiendade datos.
(Opcional) Una cadena que especifica el alcance.
(Opcional) A DataStoreOptions instancia para habilitar características experimentales y funciones de la API v2.
Devolução
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
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
Devolução
Amostras de código
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
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
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
(Opcional) Prefijo para contar almacenamientos de datos que comienzan con el prefijo dado.
(Opcional) Número de artículos que se devolverán en cada página. Por defecto es 32.
(Opcional) Cursor para continuar la iteración.
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.