DataStore
*Konten ini diterjemahkan menggunakan AI (Beta) dan mungkin mengandung kesalahan. Untuk melihat halaman ini dalam bahasa Inggris, klik di sini.
Lihat Toko Data.
Rangkuman
Metode
Mengambil versi kunci yang ditentukan.
Ambil versi kunci yang saat ini pada waktu tertentu.
- ListKeysAsync(prefix : string,pageSize : number,cursor : string,excludeDeleted : boolean):DataStoreKeyPages
Kembalikan objek DataStoreKeyPages untuk menguraikan melalui kunci penyimpanan data.
- ListVersionsAsync(key : string,sortDirection : Enum.SortDirection,minDate : number,maxDate : number,pageSize : number):DataStoreVersionPages
Menguraikan semua versi kunci.
Secara permanen menghapus versi kunci yang ditentukan.
Kembalikan nilai kunci di penyimpanan data tertentu dan kejadianDataStoreKeyInfo .
- IncrementAsync(key : string,delta : number,userIds : Array,options : DataStoreIncrementOptions):Variant
Meningkatkan nilai kunci dengan jumlah yang disediakan (keduanya harus menjadi bilangan bulat).
Menghapus kunci yang ditentukan sambil juga menyimpan versi yang dapat diakses.
Tetapkan nilai penyimpanan data untuk unityang diberikan.
Memperbarui nilai unitdengan nilai baru dari fungsi panggilan balasan yang ditentukan.
Properti
Metode
GetVersionAsync
Fungsi ini memulihkan versi kunci yang ditentukan serta instansi DataStoreKeyInfo .Pengidentifikasi versi dapat ditemukan melalui DataStore:ListVersionsAsync() atau alternatifnya adalah identifikasi yang dikembalikan oleh GlobalDataStore:SetAsync() .
Parameter
Nama kunci untuk versi informasi yang diminta.Jika DataStoreOptions.AllScopes diatur ke benar saat mengakses penyimpanan data melalui DataStoreService:GetDataStore(), nama kunci ini harus diikuti dengan cakupan asli seperti dalam "scope/key".
Nomor versi kunci untuk mana informasi versi diminta.
Memberikan nilai
Nilai kunci pada versi yang ditentukan dan instansi DataStoreKeyInfo yang termasuk nomor versi, tanggal dan waktu versi dibuat, dan fungsi untuk mengambil UserIds dan metadata.
GetVersionAtTimeAsync
Fungsi ini memulihkan versi kunci yang saat ini pada waktu tertentu serta instansi DataStoreKeyInfo .
Parameter
Nama kunci untuk versi informasi yang diminta.Jika DataStoreOptions.AllScopes diatur ke benar saat mengakses penyimpanan data melalui DataStoreService:GetDataStore(), nama kunci ini harus diikuti dengan cakupan asli seperti dalam "scope/key".
timestamp Unix dalam milidetik di mana versi yang diminta saat ini.Harus lebih besar dari nol.Tidak boleh lebih dari sepuluh menit di masa depan.
Memberikan nilai
Nilai kunci yang saat ini pada waktu yang ditentukan dan instansi DataStoreKeyInfo yang mencakup nomor versi, tanggal dan waktu versi dibuat, dan fungsi untuk mengambil UserIds dan metadata.nil jika tidak ada versi yang tersedia saat ini pada waktu yang diminta.
Contoh Kode
The following code sample retrieves data store key versions using timestamps.
local DataStoreService = game:GetService("DataStoreService")
local dataStore = DataStoreService:GetDataStore("DataStore")
local key = "key-123"
function setData(data)
local success, result = pcall(function()
dataStore:SetAsync(key, data)
end)
if not success then
warn(result)
end
end
function getVersionAtTime(timestamp)
local success, result, keyInfo = pcall(function()
return dataStore:GetVersionAtTimeAsync(key, timestamp.UnixTimestampMillis)
end)
if success then
if result == nil then
print("No version found at time")
else
print(result, keyInfo.Version)
end
else
warn(result)
end
end
-- Previously ran at 2024/12/02 6:00 UTC
setData("version 1")
-- Previously ran at 2024/12/02 9:00 UTC
setData("version 2")
-- Prints "No version found at time"
local time1 = DateTime.fromUniversalTime(2024, 12, 02, 05, 00)
getVersionAtTime(time1)
-- Prints "version 1 <version>"
local time2 = DateTime.fromUniversalTime(2024, 12, 02, 07, 00)
getVersionAtTime(time2)
-- Prints "version 2 <version>"
local time3 = DateTime.fromUniversalTime(2024, 12, 02, 10, 00)
getVersionAtTime(time3)
ListKeysAsync
Fungsi ini mengembalikan objek DataStoreKeyPages untuk menguraikan melalui kunci penyimpanan data.Ini menerima parameter opsional prefix untuk hanya menemukan kunci yang namanya dimulai dengan prefiks yang disediakan.
Jika DataStoreOptions.AllScopes diatur ke benar saat mengakses penyimpanan data melalui DataStoreService:GetDataStore(), kunci akan dikembalikan dengan semua scope sebagai prefiks.
Parameter
(Opsi) Prefix untuk digunakan untuk menemukan kunci.
(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 50 item per halaman.
(Opsi) Cursor untuk melanjutkan iterasi.
(Opsi) Hapus kunci yang dihapus dari dikembalikan.
Saat diaktifkan, ListKeys akan memeriksa hingga 512 kunci.Jika semua tombol terverifikasi dihapus maka akan mengembalikan daftar kosong dengan kursor untuk melanjutkan iterasi.
Memberikan nilai
Sebuah instansi DataStoreKeyPages yang mencantumkan kunci sebagai instansi DataStoreKey.
ListVersionsAsync
Fungsi ini mencantumkan versi kunci yang ditentukan dalam urutan menaik atau menurun yang ditentukan oleh parameter Enum.SortDirection .Ini dapat opsional memfilter versi yang dikembalikan dengan waktu paling sedikit dan paling maksimal.
Parameter
Nama kunci untuk versi yang akan dicantumkan.Jika DataStoreOptions.AllScopes diatur ke benar saat mengakses penyimpanan data melalui DataStoreService:GetDataStore(), nama kunci ini harus diikuti dengan cakupan asli seperti dalam "scope/key".
(Opsi) Enum menentukan urutan urutan naik atau turun.
(Opsi) Tanda tanggal Unix dalam milidetik setelah itu versi harus dicantumkan
(Opsi) Tanda waktu Unix dalam milidetik hingga versi harus dicantumkan.
(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 1024 item per halaman.
Memberikan nilai
Sebuah instansi DataStoreVersionPages yang mencantumkan semua versi kunci sebagai DataStoreObjectVersionInfo instansi.
Contoh Kode
The following code sample retrieves all versions after a specified starting time, sorted in ascending order.
local DataStoreService = game:GetService("DataStoreService")
local experienceStore = DataStoreService:GetDataStore("PlayerExperience")
local time = DateTime.fromUniversalTime(2020, 10, 09, 01, 42)
local listSuccess, pages = pcall(function()
return experienceStore:ListVersionsAsync("User_1234", nil, time.UnixTimestampMillis)
end)
if listSuccess then
local items = pages:GetCurrentPage()
for key, info in pairs(items) do
print("Key:", key, "; Version:", info.Version, "; Created:", info.CreatedTime, "; Deleted:", info.IsDeleted)
end
end
RemoveVersionAsync
Fungsi ini secara permanen menghapus versi kunci yang ditentukan. Pengidentifikasi versi dapat ditemukan melalui DataStore:ListVersionsAsync() .
Tidak seperti GlobalDataStore:RemoveAsync() , fungsi ini tidak membuat versi "batu makam" baru dan nilai yang dihapus tidak dapat dipulihkan nanti.
Parameter
Nama kunci untuk versi yang akan dihapus.Jika DataStoreOptions.AllScopes diatur ke benar saat mengakses penyimpanan data melalui DataStoreService:GetDataStore(), nama kunci ini harus diikuti dengan cakupan asli seperti dalam "scope/key".
Nomor versi kunci untuk dihapus.