GlobalDataStore
*Bu içerik, yapay zekâ (beta) kullanılarak çevrildi ve hatalar içerebilir. Sayfayı İngilizce görüntülemek için buraya tıkla.
Bir Küresel Veri Depolama , DataStoreService.
Veri yapısı, yönetimi, hata işleme vb. konularda derin bir rehberlik için Veri Depolarına bakın
Sıralanmış veri depoları sürümleme ve metadatayı desteklemiyor, bu nedenle daima bir için anahtarlar için geçerlidir.Versiyonlama ve metadat desteğine ihtiyacınız varsa, bir DataStore kullanın.
Özet
Özellikler
Yöntemler
Belirtilen veri depolamasındaki bir anahtarın değerini ve bir DataStoreKeyInfo durumdöndürür.
- IncrementAsync(key : string,delta : number,userIds : Array,options : DataStoreIncrementOptions):Variant
Verilen miktar ile bir anahtarın değerini artırır (her ikisi de tamsayı olmalıdır).
Belirtilen anahtarı kaldırırken erişilebilir bir sürüm de korur.
Verilen anahtar için veri depolama değerini ayarlar.
Bir anahtarın değerini belirtilen geri çağrı işlevinden yeni bir değerle günceller.
Özellikler
Yöntemler
GetAsync
Bu işlev, sağlanan anahtarın en son değerini ve bir DataStoreKeyInfo durumdöndürür.Anahtar mevcut değilse veya en son sürüm silinmiş olarak işaretlendiyse, her iki dönüş değeri nil olacaktır.
Anahtarlar, ilk okumadan sonra 4 saniye boyunca yerel olarak depolanır.Bu 4 saniye içinde bir GlobalDataStore:GetAsync() çağrısı, kachenizden bir değer döndürür.Anahtarın GlobalDataStore:SetAsync() veya GlobalDataStore:UpdateAsync() değişiklikleri anında anahtara uygulanır ve 4 saniye zamanlayıcı yeniden başlatılır.
Belirli bir sürüm almak için, en yeni sürümden önceki bir sürüm gibi, kullanın DataStore:GetVersionAsync() .
Parametreler
Değer talep edilen anahtar adı.Eğer DataStoreOptions.AllScopes veri depolarına erişirken DataStoreService:GetDataStore() aracılığıyla doğru ayarlanmışsa, bu anahtar adı "scope/key" içindeki orijinal kapsama eklenmelidir.
Dönüşler
Veri depolamasındaki girişin değeri, verilen anahtar ve versiyon numarası, tarih ve saati içeren bir DataStoreKeyInfo örneği ve UserIds ve metadat alma işlevleri içeren bir örnek ile verilen anahtar ve tarih ve saati içeren bir girişin değeri.
IncrementAsync
Bu işlev, verilen miktar ile bir anahtarın değerini artırır (her ikisi de tamsayı olmalıdır).
değerleri sürümlendirilmiştir sürümleme olarak açıklandığı gibi sürümlendirilmiştir çünkü çünkü çünkü çünkü çünkü çünkü.OrderedDataStores sürümlemeyi desteklemiyor, bu nedenle bu yöntemi siparişli bir veri depolama anahtarı üzerinde çağırmak, mevcut değeri artırılmış değerle yeniden yazacak ve önceki sürümlerin erişilemez olmasını sağlayacaktır.
Parametreler
Değerin güncellenmesi gereken anahtar adı.Eğer DataStoreOptions.AllScopes veri depolarına erişirken DataStoreService:GetDataStore() aracılığıyla doğru ayarlanmışsa, bu anahtar adı "scope/key" içindeki orijinal kapsama eklenmelidir.
Mevcut değeri artırmak için miktar.
(Opsiyonel) Bir anahtar ile ilişkilendirilecek bir UserIds tablosu.
(Opsiyonel) DataStoreIncrementOptions çoklu ek parametleri özel metin olarak birleştiren ve gelecekte genişletilebilirliğe izin veren örnek.
Dönüşler
Veri depolamasındaki girişin verilen anahtarla güncellenmiş değeri.
RemoveAsync
Bu işlev, belirtilen anahtarı yeni bir "mezar taşı" versiyonu oluşturarak silindi olarak işaretler.Bunun öncesinde, çıkarma çağrısından önce en son sürümü döndürür.
Bir anahtar bu işlev aracılığıyla kaldırıldıktan sonra, GlobalDataStore:GetAsync() anahtar çağrıları nil geri dönecektir.Anahtarın eski sürümleri, sona ermediğini varsayarak DataStore:ListVersionsAsync() ve DataStore:GetVersionAsync() aracılığıyla erişilebilir kalır.
OrderedDataStore sürümlemeyi desteklemiyor, bu nedenle RemoveAsync() bir OrderedDataStore anahtarına çağrı yapmak onu kalıcı olarak siler.
Kaldırılan nesneler 30 gün sonra kalıcı olarak silinecektir.
Önceki değerler zaten GlobalDataStore:RemoveAsync() veya DataStore:RemoveVersionAsync() aracılığıyla silinmişse, işlev değer için nil ve nil ve ayrıca DataStoreKeyInfo dönecektir.
Parametreler
Kaldırılacak anahtar adı.Eğer DataStoreOptions.AllScopes veri depolarına erişirken DataStoreService:GetDataStore() aracılığıyla doğru ayarlanmışsa, bu anahtar adı "scope/key" içindeki orijinal kapsama eklenmelidir.
Dönüşler
Veri depolamasının silinmeden önceki değeri ve versiyon numarası, tarih ve saati içeren bir DataStoreKeyInfo örneği ve çıkarma ve metadat alma işlevlerini içeren bir UserIds örneği.
SetAsync
Bu işlev en son değeri, UserIds ve verilen anahtar için metadatı ayarlar.
değerleri sürümlendirilmiştir sürümleme olarak açıklandığı gibi sürümlendirilmiştir çünkü çünkü çünkü çünkü çünkü çünkü.OrderedDataStores sürümlemeyi desteklemiyor, bu nedenle bu yöntemi siparişli bir veri depolama anahtarı üzerinde çağırmak, mevcut değeri üzerwrite edecek ve önceki sürümleri erişilemez hale getirecektir.
Metadat tanımları daima mevcut değere değişiklik yapılmasa bile bir değerle güncellenmelidir; aksi takdirde mevcut değer kaybolacaktır.
Bir veri depolamasında saklanan herhangi bir dize geçerli olmalıdır UTF-8 .UTF-8'de, 127'den büyük değerler sadece çoklu bayt kod noktalarını kodlamak için kullanılır, bu nedenle 127'den büyük bir tek bayt geçersiz olur ve GlobalDataStore:SetAsync() denemesi başarısız olur.
Set vs. Güncelleme
GlobalDataStore:SetAsync() belirli bir anahtarın hızlı güncellemesi için en iyisidir ve sadece yazma sınırına karşı sayılır.Ancak, iki sunucu aynı anda aynı anahtarı ayarlamaya çalışırsa veri tutarsızlığına neden olabilir.GlobalDataStore:UpdateAsync() çoklu sunucu denemelerini işlemek için daha güvenlidir, çünkü herhangi bir değişiklik yapmadan önce mevcut anahtar değerini (herhangi bir son sunucudan sonra güncellendi) okur.Ancak, yazmadan önce okuduğu için biraz daha yavaş ve okuma ve yazma sınırına da karşı sayılır.
Parametreler
Değerin ayarlanması gereken anahtar adı.Eğer DataStoreOptions.AllScopes veri depolarına erişirken DataStoreService:GetDataStore() aracılığıyla doğru ayarlanmışsa, bu anahtar adı "scope/key" içindeki orijinal kapsama eklenmelidir.
Veri depolama anahtarına ayarlanacak değer.
UserIds tablosu, GDPR izleme/kaldırma yardımı için çok önerilir.
(Opsiyonel) DataStoreSetOptions anahtar üzerinde metadat uygulanmasına izin veren örnek.
Dönüşler
Yeni oluşturulan sürümün versiyon tanımlayıcısı. GetVersionAsync() kullanarak anahtar bilgileri almak veya RemoveVersionAsync() kullanarak kaldırmak için kullanılabilir.
UpdateAsync
Bu işlev, veri depolamasından bir anahtarın değerini ve metadatasını alır ve ikinci parametre aracılığıyla belirlenen yeni bir değerle günceller.Geri arama nil döndürürse, yazma işlemi iptal edilir ve değer değiştirilmez.
değerleri sürümlendirilmiştir sürümleme olarak açıklandığı gibi sürümlendirilmiştir çünkü çünkü çünkü çünkü çünkü çünkü.OrderedDataStores sürümlemeyi desteklemiyor, bu nedenle bu yöntemi siparişli bir veri depolama anahtarı üzerinde çağırmak, mevcut değeri üzerwrite edecek ve önceki sürümleri erişilemez hale getirecektir.
Anahtarın mevcut değerini almak ve anahtarın değerini ayarlamak arasındaki kısa sürede başka bir oyun sunucusu anahtarı güncellediğinde, GlobalDataStore:UpdateAsync() işlevi tekrar çağıracak ve önceki çağrının sonucunu atlayacaktır.İşlev, veriler kaydedilana kadar gerekli olduğu kadar çok kez çağrılacaktır veya geri arama işlevi döndüğünde nil.Bu, hiçbir verinin üzer書されない olduğundan emin olmak için kullanılabilir.
Bir veri depolamasında saklanan herhangi bir dize geçerli olmalıdır UTF-8 .UTF-8'de, 127'den büyük değerler sadece çoklu bayt kod noktalarını kodlamak için kullanılır, bu nedenle 127'den büyük bir tek bayt geçersiz olur ve GlobalDataStore:UpdateAsync() denemesi başarısız olur.
Set vs. Güncelleme
GlobalDataStore:SetAsync() belirli bir anahtarın hızlı güncellemesi için en iyisidir ve sadece yazma sınırına karşı sayılır.Ancak, iki sunucu aynı anda aynı anahtarı ayarlamaya çalışırsa veri tutarsızlığına neden olabilir.GlobalDataStore:UpdateAsync() çoklu sunucu denemelerini işlemek için daha güvenlidir, çünkü herhangi bir değişiklik yapmadan önce mevcut anahtar değerini (herhangi bir son sunucudan sonra güncellendi) okur.Ancak, yazmadan önce okuduğu için biraz daha yavaş ve okuma ve yazma sınırına da karşı sayılır.
Geri çağırma işlevi
Geri çağrılma işlevi iki argüman kabul eder:
- güncelleönce anahtarın mevcut değeri.
- DataStoreKeyInfo en son sürüm bilgilerini içeren örnek (bu argüman, metadaten kullanılmıyorsa göz ardı edilebilir).
Sonuç olarak, geri arama işlevi üç değere kadar döndürür:
- anahtariçin ayarlanacak yeni değer.
- anahtarile ilişkilendirmek için bir UserIds dizi.DataStoreKeyInfo:GetUserIds() mevcut kimlikler değiştirilmediği sürece geri dönmelidir; aksi takdirde tüm mevcut kimlikler temizlenecektir.
- anahtarile ilişkilendirilecek metadan oluşan bir Luau tablosu.DataStoreKeyInfo:GetMetadata() mevcut metadat değiştirilmediği sürece geri dönmelidir; aksi takdirde tüm mevcut metadat temizlenecektir.
Geri çağrı yerine nil dönerse, mevcut sunucu anahtarı güncellemeye çalışmayı bırakacaktır.
Geri çağrı işlevi veremiyor, bu yüzden yapmayın task.wait() .
Parametreler
Değerin güncellenmesi gereken anahtar adı.Eğer DataStoreOptions.AllScopes veri depolarına erişirken DataStoreService:GetDataStore() aracılığıyla doğru ayarlanmışsa, bu anahtar adı "scope/key" içindeki orijinal kapsama eklenmelidir.
Mevcut değeri ve DataStoreKeyInfo parametre olarak alan ve seçili UserIds ve metadatarla birlikte yeni değeri döndüren dönüştürme işlevi.
Dönüşler
Veri depolamasındaki girişin verilen anahtarla güncellenmiş değeri ve versiyon numarası, tarih ve saati içeren DataStoreKeyInfo bir örnek ve versiyonu almak ve metadatları geri almak için fonksiyonlar dahil edilen UserIds bir örnek.