DataStoreService
*Konten ini diterjemahkan menggunakan AI (Beta) dan mungkin mengandung kesalahan. Untuk melihat halaman ini dalam bahasa Inggris, klik di sini.
DataStoreService mengekspos metode untuk mendapatkan GlobalDataStore dan OrderedDataStore objek. Data store hanya dapat diakses oleh server game, jadi Anda hanya dapat menggunakan 0> Class.DataStoreService
Lihat Toko Data untuk panduan lengkap tentang struktur data, manajemen, penanganan kesalahan, dll.
Contoh Kode
local DataStoreService = game:GetService("DataStoreService")
for _, enumItem in pairs(Enum.DataStoreRequestType:GetEnumItems()) do
print(enumItem.Name, DataStoreService:GetRequestBudgetForRequestType(enumItem))
end
Rangkuman
Properti
Tetapkan apakah fungsi penyimpanan data harus otomatis dicoba kembali atau tidak. DataStoreService tidak menghormati property ini karena otomatis dicoba kembali telah dinonaktifkan karena alasan teknis. Oleh karena itu, Anda harus menerapkan sistem untuk mencoba operasi kembali sendiri.
Metode
Menciptakan instansi DataStore dengan nama dan skala yang diberikan.
Mengembalikan toko data default.
Dapatkan Class.OrderedDataStore yang diberi nama dan scope옵션.
Mengembalikan jumlah permintaan yang dapat dibuat oleh ketikpermintaan yang diberikan.
Mengembalikan objek DataStoreListingPages untuk menguraikan melalui semua toko data pengalaman.
Properti
AutomaticRetry
Tetapkan apakah fungsi penyimpanan data harus otomatis dicoba kembali atau tidak.
DataStoreService tidak menghormati property ini karena pencarian otomatis telah dinonaktifkan karena alasan teknis. Oleh karena itu, Anda harus menerapkan sistem untuk mencoba operasi pencarian sendiri. Mungkin pencarian otomatis akan diaktifkan kembali di masa depan.
Metode
GetDataStore
Fungsi ini membuat instansi DataStore dengan nama dan skala yang diberikan. Panggilan berikutnya ke metode ini dengan nama/skala yang sama akan mengembalikan objek yang sama.
Menggunakan parameter scope akan membatasi operasi ke skala itu dengan secara otomatis menunda skala ke kunci dalam semua operasi yang dilakukan di data toko. Fungsi ini juga menerima instansi DataStoreOptions yang memungkinkan opsi untuk mengaktifkan AllScopes . Lihat 1>Data Tok
Parameter
Nama toko data.
(Opsional) Sebuah string yang menentukan rentang.
(Opsional) A DataStoreOptions instance untuk mengaktifkan fitur eksperimental dan fitur API v2.
Memberikan nilai
GetGlobalDataStore
Fungsi ini mengembalikan default GlobalDataStore . Jika Anda ingin mengakses toko data bernama khusus, Anda harus menggunakan fungsi Class.DataStoreService:GetDataStore() .
Memberikan nilai
Contoh Kode
local DataStoreService = game:GetService("DataStoreService")
local GlobalDataStore = DataStoreService:GetGlobalDataStore()
print(GlobalDataStore.Name)
GetOrderedDataStore
Metode ini mengembalikan OrderedDataStore, mirip dengan cara GetDataStore() melakukannya dengan GlobalDataStores . Panggilan berikutnya ke metode ini dengan nama/skala yang sama akan mengembalikan objek yang sama.
Parameter
Memberikan nilai
Contoh Kode
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
Fungsi ini mengembalikan jumlah permintaan penyimpanan data yang dapat dilakukan tempat saat ini berdasarkan Enum.DataStoreRequestType yang diberikan. Setiap permintaan yang melebihi anggaran ini dikenakan biaya. Pengawasan dan penyesuaian frekuensi permintaan penyimpanan data menggunakan fungsi ini direkomendasikan.
Parameter
Memberikan nilai
Contoh Kode
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
Mengembalikan objek DataStoreListingPages untuk mengumpulkan melalui semua toko data pengalaman. Menerima parameter prefix secara opsional untuk menemukan toko data yang bernama dimulai dengan prefiks yang disediakan.
Hanya penyimpanan data yang berisi setidaknya satu objek akan di daftarkan melalui fungsi ini.
Parameter
(Opsional) Prefix untuk menghitung data store yang dimulai dengan prefiksi yang diberikan.
(Opsional) Jumlah item yang akan dikembalikan setiap halaman. Secara default adalah 32.
(Opsional) Cursor untuk melanjutkan iterasi.
Memberikan nilai
DataStoreListingPages instansi yang berisi DataStoreInfo instansi yang memberikan rincian seperti nama, waktu pembuatan, dan waktu pembaruan terakhir.