GlobalDataStore

Artık kullanılmayanları göster

*Bu içerik, yapay zekâ (beta) kullanılarak çevrildi ve hatalar içerebilir. Sayfayı İngilizce görüntülemek için buraya tıkla.

Oluşturulamaz
Çoğaltılmamış

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

Yöntemler

Özellikler

Yöntemler

GetAsync

Bekletir

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

key: string

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.

Varsayılan değer: ""
Varsayılan değer: "nil"

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

Variant
Bekletir

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

key: string

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.

Varsayılan değer: ""
delta: number

Mevcut değeri artırmak için miktar.

Varsayılan değer: 1
userIds: Array

(Opsiyonel) Bir anahtar ile ilişkilendirilecek bir UserIds tablosu.

Varsayılan değer: "{}"

(Opsiyonel) DataStoreIncrementOptions çoklu ek parametleri özel metin olarak birleştiren ve gelecekte genişletilebilirliğe izin veren örnek.

Varsayılan değer: "nil"

Dönüşler

Variant

Veri depolamasındaki girişin verilen anahtarla güncellenmiş değeri.

RemoveAsync

Bekletir

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

key: string

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.

Varsayılan değer: ""

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

Variant
Bekletir

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

key: string

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.

Varsayılan değer: ""
value: Variant

Veri depolama anahtarına ayarlanacak değer.

Varsayılan değer: ""
userIds: Array

UserIds tablosu, GDPR izleme/kaldırma yardımı için çok önerilir.

Varsayılan değer: "{}"

(Opsiyonel) DataStoreSetOptions anahtar üzerinde metadat uygulanmasına izin veren örnek.

Varsayılan değer: "nil"

Dönüşler

Variant

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

Bekletir

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

key: string

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.

Varsayılan değer: ""
transformFunction: function

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.

Varsayılan değer: ""

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.

Etkinlikler