DataStoreService
*Bu içerik, yapay zekâ (beta) kullanılarak çevrildi ve hatalar içerebilir. Sayfayı İngilizce görüntülemek için buraya tıkla.
Veri Deposu Hizmeti GlobalDataStore ve OrderedDataStore nesnelerine erişim sağlayan yöntemleri gösterir. Veri depoları sadece oyun sunucularına erişilebilir, bu yü
Veri yapısı, yönetimi, hata işleme vb. konularda geniş bir rehber için Veri Depoları bakın.
Kod Örnekleri
local DataStoreService = game:GetService("DataStoreService")
for _, enumItem in pairs(Enum.DataStoreRequestType:GetEnumItems()) do
print(enumItem.Name, DataStoreService:GetRequestBudgetForRequestType(enumItem))
end
Özet
Özellikler
Veri depolama işlevlerinin otomatik olarak yeniden denemesi gerektiğine karar verir veya etmez. DataStoreService, bu özellik nedeniyle otomatik deneme işlevleri için bu özellik sayılmaz. Bu nedenle, operasyonların yeniden denemesini kendiniz yapmalısınız.
Yöntemler
Sunulan isim ve alanla bir DataStore instansı oluşturur.
Varsayılan veri mağazaiade eder.
Bir isim veya seçenekli bir alan verilen bir OrderedDataStore alın.
Verilen istek yazolan isteklerin sayısını iade eder.
Tüm deneyimin veri depolarını tarayan bir DataStoreListingPages nesne döndürür.
Özellikler
AutomaticRetry
Veri depolama işlevlerinin otomatik olarak yeniden denemesi gerektiğini veya gerektiğinden daha az kayıp vermeyi ayarlar.
DataStoreService bu özelliğe saygınız çünkü teknik nedenlerden dolayı otomatik yeniden deneme işlemleri devre dışı. Bu nedenle, operasyonların yeniden denemes için kendiniz için sistemleri uygulamanız gerekir. Bu gelecekte otomatik yeniden denemesi tekrar etkinleştirilebilir.
Yöntemler
GetDataStore
Bu işlev, sağlanan isim ve kapsayla bir DataStore instansı oluşturur. Bu yöntemle aynı isim/kapsayla olan sonraki çağrılar aynı nesneyi iade eder.
scope parametresini kullanmak, kaynakların tüm işlemlerinde kaynağı oluşturma işlemlerine otomatik olarak önleyerek kaynağı tüm işlemlerde kullanılabilir hale getirir. Bu işlev ayrıca, kaynağın etkinleştirilmesi için DataStoreOptions
Parametreler
Veri mağazaadı.
(isteğe bağlı) Bir strung, menzili belirtir.
(isteğe bağlı) Bir DataStoreOptions instansı, deneysel özellikleri ve v2 API özelliklerini etkinleştirmek için.
Dönüşler
GetGlobalDataStore
Bu işlev, varsayılan GlobalDataStore 'i döndürür. Eğer özel bir adlandırılmış veri depolarına erişmek istiyorsanız, GetDataStore() işlevini kullanmalısınız.
Dönüşler
Kod Örnekleri
local DataStoreService = game:GetService("DataStoreService")
local GlobalDataStore = DataStoreService:GetGlobalDataStore()
print(GlobalDataStore.Name)
GetOrderedDataStore
Bu yöntem bir OrderedDataStore , GetDataStore() ile aynı şekilde işlem yaptığı gibi döndürür. Subsequent calls to this method with the same name/scope will return the same object.
Parametreler
Dönüşler
Kod Örnekleri
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
Bu işlev, mevcut yerin Enum.DataStoreRequestType ile belirlenen veri depolama isteklerinin sayısını döndürür. Bu bütçeyi aşan istekler, sınırlandırılabilir. Veri depolama isteklerinin frekansını izlemek ve ayarlamak bu işlevi kullanıyor.
Parametreler
Dönüşler
Kod Örnekleri
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
Tüm deneyimin veri depoları arasında listelenmek için bir DataStoreListingPages nesne döndürür. Bir seçenek prefix parçasını kabul eder ve sadece ismi belirlenen depoları bulmak için bir başlangıç parametresi kabul eder.
En az bir nesne içeren sadece veri depoları bu işlev aracılığıyla listelenir.
Parametreler
(isteğe bağlı) Tüm veri depolarını listeleyecek bir başlangıç özelliği.
(Opcional) Her sayfada iade edilecek öğelerin sayısı.Varsayılan olarak 32.
(isteğe bağlı) Kısayol, itmeyi sürdürmek için.
Dönüşler
DataStoreListingPages örneği, DataStoreInfo instanslarını içeren bir istemadır.