DataStoreService
*Konten ini diterjemahkan menggunakan AI (Beta) dan mungkin mengandung kesalahan. Untuk melihat halaman ini dalam bahasa Inggris, klik di sini.
Layanan Penyimpan Data mengekspos metode untuk mendapatkan GlobalDataStore dan OrderedDataStore.Penyimpanan data hanya dapat diakses oleh server game, jadi Anda hanya dapat menggunakan DataStoreService dalam Script atau ModuleScript yang digunakan oleh Script .
Lihat Toko data untuk panduan lengkap tentang struktur data, manajemen, penanganan kesalahan, dll
Contoh Kode
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
Rangkuman
Properti
Mengatur apakah fungsi penyimpanan data harus secara otomatis mencoba kembali atau tidak.DataStoreService tidak menghormati properti ini karena retret otomatis telah dinonaktifkan karena alasan teknis.Oleh karena itu, Anda harus menerapkan sistem untuk mencoba kembali operasi sendiri.
Metode
Membuat instansi DataStore dengan nama dan cakupan yang diberikan.
Kembalikan penyimpanan data default.
Dapatkan OrderedDataStore yang diberi nama dan scope opsional.
Kembalikan jumlah permintaan yang dapat dilakukan oleh ketikpermintaan yang diberikan.
Kembalikan objek DataStoreListingPages untuk menguraikan melalui semua penyimpanan data pengalaman.
Properti
AutomaticRetry
Mengatur apakah fungsi penyimpanan data harus secara otomatis mencoba kembali atau tidak.
DataStoreService tidak menghormati properti ini karena retret otomatis telah dinonaktifkan karena alasan teknis.Oleh karena itu, Anda harus menerapkan sistem untuk mencoba kembali operasi sendiri.Dimungkinkan bahwa retensi otomatis akan diaktifkan kembali di masa depan.
Metode
GetDataStore
Fungsi ini membuat instansi DataStore dengan nama dan cakupan yang diberikan.Panggilan berikutnya ke metode ini dengan nama/scope yang sama akan mengembalikan objek yang sama.
Menggunakan parameter scope akan membatasi operasi ke scope itu dengan secara otomatis menambahkan scope ke kunci dalam semua operasi yang dilakukan di penyimpan data.Fungsi ini juga menerima instansi opsional DataStoreOptions yang berisi opsi untuk mengaktifkan AllScopes .Lihat Toko data untuk rincian tentang cakupan.
Parameter
Nama penyimpanan data.
(Opsi) Sebuah string yang menentukan scope.
(Opsi) A DataStoreOptions instansi untuk mengaktifkan fitur eksperimental dan fitur API v2.
Memberikan nilai
GetGlobalDataStore
Fungsi ini mengembalikan default GlobalDataStore .Jika Anda ingin mengakses penyimpanan data khusus bernama alih, Anda harus menggunakan fungsi GetDataStore().
Perhatikan bahwa DataStore yang dikembalikan oleh fungsi ini selalu menggunakan scope u . Lihat penyimpanan data untuk rincian tentang scope.
Memberikan nilai
Contoh Kode
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
Metode ini mengembalikan OrderedDataStore , mirip dengan cara GetDataStore() melakukannya dengan GlobalDataStores .Panggilan berikutnya ke metode ini dengan nama/scope yang sama akan mengembalikan objek yang sama.
Parameter
Memberikan nilai
Contoh Kode
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
Fungsi ini mengembalikan jumlah permintaan penyimpanan data yang dapat dilakukan tempat saat ini berdasarkan Enum.DataStoreRequestType yang diberikan.Setiap permintaan yang melebihi anggaran ini harus dibatasi.Pantau dan sesuaikan frekuensi permintaan penyimpanan data menggunakan fungsi ini disarankan.
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
Kembalikan objek DataStoreListingPages untuk menguraikan melalui semua penyimpanan data pengalaman.Ini menerima parameter opsional prefix untuk hanya menemukan penyimpanan data yang namanya dimulai dengan prefiks yang disediakan.
Hanya penyimpanan data yang berisi setidaknya satu objek akan terdaftar melalui fungsi ini.
Parameter
(Opsi) Prefix untuk menguraikan penyimpanan data yang dimulai dengan prefiks yang diberikan.
(Opsi) Jumlah item yang akan dikembalikan di setiap halaman.Jika tidak ada nilai yang diberikan, mesin mengirim nilai default 0 ke layanan web penyimpanan data, yang pada gilirannya default ke 32 item per halaman.
(Opsi) Cursor untuk melanjutkan iterasi.
Memberikan nilai
DataStoreListingPages instansi yang berisi DataStoreInfo instansi yang memberikan rincian seperti nama, waktu penciptaan, dan waktu terakhir diperbarui.