DataStoreService
*Este conteúdo é traduzido por IA (Beta) e pode conter erros. Para ver a página em inglês, clique aqui.
Serviço de Armazenamento de Dados exibe métodos para obter GlobalDataStore e OrderedDataStore objetos.Armazenamentos de dados só podem ser acessados por servidores de jogos, então você só pode usar DataStoreService dentro de um Script ou um ModuleScript que é usado por um Script .
Veja Armazenamentos de dados para um guia abrangente sobre estrutura de dados, gerenciamento, manipulação de erros, etc.
Amostras de código
This code sample prints the request budget for all data store request types.
local DataStoreService = game:GetService("DataStoreService")
for _, enumItem in pairs(Enum.DataStoreRequestType:GetEnumItems()) do
print(enumItem.Name, DataStoreService:GetRequestBudgetForRequestType(enumItem))
end
Resumo
Propriedades
Define se as funções do armazenamento de dados devem tentar novamente automaticamente ou não.O DataStoreService não respeita essa propriedade porque o reteste automático foi desativado por razões técnicas.Portanto, você deve implementar sistemas para tentar operações de novo por si mesmo.
Métodos
Cria uma instância DataStore com o nome e escopo fornecidos.
Retorna o lojade dados padrão.
Obtenha um OrderedDataStore dado um nome e escopo opcional.
Retorna o número de solicitações que podem ser feitas pelo digitarde solicitação dado.
Retorna um objeto DataStoreListingPages para enumerar através de todos os armazenamentos de dados da experiência.
Propriedades
AutomaticRetry
Define se as funções do armazenamento de dados devem tentar novamente automaticamente ou não.
O DataStoreService não respeita essa propriedade porque o reteste automático foi desativado por razões técnicas.Portanto, você deve implementar sistemas para tentar operações de novo por si mesmo.É possível que o re試o automático seja habilitado novamente no futuro.
Métodos
GetDataStore
Essa função cria uma instância DataStore com o nome e escopo fornecidos.Chamadas subsequentes a este método com o mesmo nome/escopo retornarão o mesmo Objeto.
Usar o parâmetro scope limitará as operações a esse escopo ao prender automaticamente o escopo às chaves em todas as operações realizadas no armazenamento lojadados.Essa função também aceita uma instância opcional DataStoreOptions que inclui opções para ativar AllScopes .Veja Armazenamentos de dados para detalhes sobre o escopo.
Parâmetros
Nome do armazenamento de dados.
(Opcional) Uma string que especifica o escopo.
(Opcional) A instância DataStoreOptions para habilitar recursos experimentais e recursos da API v2.
Devolução
GetGlobalDataStore
Essa função retorna o padrão GlobalDataStore .Se você quiser acessar um armazenamento de dados específico chamado em vez disso, você deve usar a função GetDataStore().
Observe que o DataStore retornado por essa função sempre usa o escopo u . Veja armazenamentos de dados para detalhes sobre escopo.
Devolução
Amostras 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.
local DataStoreService = game:GetService("DataStoreService")
local GlobalDataStore = DataStoreService:GetGlobalDataStore()
print(GlobalDataStore.Name)
GetOrderedDataStore
Este método retorna um OrderedDataStore , semelhante à maneira como GetDataStore() faz com GlobalDataStores .Chamadas subsequentes a este método com o mesmo nome/escopo retornarão o mesmo Objeto.
Parâmetros
Devolução
Amostras de código
This code sample demonstrates usage of an OrderedDataStore and pages.
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
Essa função retorna o número de solicitações de armazenamento de dados que o local atual pode fazer com base no dado Enum.DataStoreRequestType dado.Quaisquer solicitações feitas que excedam esse orçamento estão sujeitas a aceleração.Recomenda-se monitorar e ajustar a frequência de solicitações de armazenamento de dados usando essa função.
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
Retorna um objeto DataStoreListingPages para enumerar através de todos os armazenamentos de dados da experiência.Ele aceita um parâmetro opcional prefix opcional para localizar apenas armazenamentos de dados cujos nomes começam com o prefixo fornecido.
Apenas armazenas de dados que contenham pelo menos um objeto serão listadas através desta função.
Parâmetros
(Opcional) Prefixo para enumerar armazenamentos de dados que começam com o prefixo dado.
(Opcional) Número de itens a serem retornados em cada página.Se nenhum valor for dado, o motor envia um valor padrão de 0 para o serviço de armazenamento de dados na web, que, por sua vez, padrãoiza 32 itens por página.
(Opcional) Cursor para continuar a iteração.
Devolução
DataStoreListingPages instância que contém DataStoreInfo instâncias que fornecem detalhes como nome, tempo de criação e tempo da última atualização.