Roblox, çeşitli veri depolama seçenekleri sunmaktadır. Her depolama seçeneğinin avantajları ve dezavantajları vardır ve farklı kullanım durumları için uygun olup olmadıkları değişir. Bu tablo mevcut seçenekleri özetler ve standart web hizmetlerinden en yakın karşılaştırma noktalarını sağlar.
| Hizmet | Kalıcılık | Kapsam | Oyun içi erişim | Bulut karşılaştırması |
|---|---|---|---|---|
| Veri mağazaları | Kalıcı | Sunucu çapında | Okuma-yazma | NoSQL veritabanı |
| Bellek mağazaları | Maksimum 45 gün | Sunucu çapında | Okuma-yazma | Bellek içi önbellek |
| Yapılandırmalar | Kalıcı | Sunucu çapında | Sadece okuma | Uygulama yapılandırması ve özellik bayrakları |
| Gizli mağazalar | Kalıcı | Sunucu çapında | Sadece okuma | Gizli yönetimi |
| Luau bellek içi | Oturum süresi | Tek sunucu | Okuma-yazma | Sunucu RAM'i |
Veri mağazalarını ne zaman kullanmalıyım
DataStoreService, oturumlar arasında sürdürülmesi gereken uzun vadeli verileri saklar, örneğin kullanıcı ilerlemesi veya envanter öğeleri. Veri mağazaları her oyun için tutarlıdır, bu nedenle bir oyundaki her yer için her sunucu aynı veriye erişebilir ve bunu değiştirebilir. İki tür veri mağazası vardır: standart ve sıralı.
Standart veri mağazaları, sıralanması veya sıralanması gerekmeyen sayılar, dizgeler ve tablolar gibi verileri saklayabilir. Verileri anahtar-değer çiftleri olarak saklarlar; her giriş, veri mağazası içinde benzersiz olan bir anahtar altında saklanır ve bu anahtarı alabilir, güncelleyebilir veya silebilirsiniz. Daha fazla bilgi için Veri mağazaları sayfasına bakın.
Sıralı veri mağazaları yalnızca sayıları saklayabilir. Her giriş, veri mağazası içinde benzersiz olan bir anahtar altında saklanır ve bu anahtarı alabilir, güncelleyebilir veya silebilirsiniz. Bu veriyi sayısal olarak sıralayabilir ve saklanan sayısal değerler temelinde artan veya azalan sırada alabilirsiniz. Daha fazla bilgi için Sıralı veri mağazaları sayfasına bakın.
| Standart veri mağazaları | Sıralı veri mağazaları | |
|---|---|---|
| Veri türü | Sayılar, dizgeler, booleans ve tablolar. | Yalnızca sayılar. |
| Yaygın kullanım durumları | Kullanıcı ilerlemesi, envanter öğeleri ve oyun ayarları. | Tarihsiz, kalıcı sıralama sistemleri ve lider tabloları. Bellek mağazalarındaki lider tablosundan farklı olarak, bu lider tablosu verisi kalıcıdır. |
| Geçmiş versiyon yedeği | Veri geçmişinizi 30 gün boyunca otomatik olarak yönetir. | Veri geçmişinizi yönetmez. |
Bellek mağazalarını ne zaman kullanmalıyım
MemoryStoreService, güncellenmesi veya sık bir şekilde erişilmesi gereken geçici verileri saklayan yüksek verimlilik ve düşük gecikme süresine sahip bir hizmettir; örneğin global lider tabloları veya eşleştirme kuyrukları. Bellek mağazaları ile, oyundaki her yer için her sunucu aynı veriye hızlı ve sık bir şekilde erişebilir ve bunu değiştirebilir. Bellek mağazalarındaki veriler, 45 güne kadar olan bir süre içinde geçerliliğini yitirir.
Tüm sunucular arasında az sayıda değeri hızlı bir şekilde okumak (yazmak değil) istiyorsanız, yapılandırmalar daha iyi bir seçimdir. Bellek mağazaları, tek bir anahtar veya bölüme sık erişim sağlandığında yapılandırmalara göre daha az verimlidir.
Bellek mağazaları geçici verileri saklasa da, aynı zamanda global bir piyasa gibi kalıcı özellikleri destekler. Piyasa kalıcıdır, ancak içindeki satışa sunulan öğelerin bir son kullanma tarihi vardır.
| Bellek mağazaları | |
|---|---|
| Veri türü | 45 günden fazla kalıcı olması gerekmeyen sayılar, dizgeler, booleans ve tablolar. |
| Yaygın kullanım durumları | Yeteneğe dayalı eşleştirme, çok oyunculu oyunlar için oyun durumu. |
| Günlük ve aylık lider tabloları. |
Yapılandırmaları ne zaman kullanmalıyım
Yapılandırmalar, sunucuları yeniden başlatmadan oyun içindeki değişkenleri gerçek zamanlı olarak güncellemenizi sağlar. Özellik bayrakları ve zaman içinde ayarlamak veya deney yapmak istediğiniz her türlü oyun içi değeri için idealdir.
- Yapılandırmalar, bir oyun içinde yalnızca okunabilir—ondan Creator Hub veya Roblox Studio üzerinden değiştirilir—bu nedenle veri mağazaları ve bellek mağazaları ile aynı kullanım durumlarına hizmet etmezler.
- Yapılandırmalardaki değişiklikler beş dakika boyunca dağıtılırken; veri ve bellek mağazalarındaki değişiklikler daha anlık olmaktadır.
| Yapılandırmalar | |
|---|---|
| Veri türü | Sayılar, dizgeler, booleans ve JSON nesneleri. |
| Yaygın kullanım durumları | Yeni bir zindanı aktifleştirme, sınırlı süreli bir oyun modunu devre dışı bırakma, tatil etkinliği başlatma. |
| Düşman sağlık durumu, silah hasarı, öğe fiyatları, oyun çarpanları, karşılama mesajları. |
Gizli mağazaları ne zaman kullanmalıyım
Oyununuza gizli mağazayı kullanarak, dış hizmetlerle kimlik doğrulama yapmak için kullandığınız her türlü API anahtarı, parolalar ve erişim belirteçlerini saklamak için kullanın. Bu değerleri bir veri mağazasında saklamak gereksiz güvenlik riskleri oluşturur.
| Gizli mağazalar | |
|---|---|
| Veri türü | Dizgeler. |
| Yaygın kullanım durumları | Analiz veya müzik hizmetleri için API anahtarları, parolalar ve erişim belirteçleri. |
Luau'da bellek içi depolama ne zaman kullanılmalı
Luau'da bellek içi depolama, en az gecikmeyle ve dış hizmet çağrısı yapmanın maliyetini olmaksızın erişilebilen geçici verileri saklamak için kullanılmalıdır. Bu depolama, Luau içinde yerleşik olup kurulum gerektirmez.
| Luau'da bellek içi depolama | |
|---|---|
| Veri türü | Sayılar, dizgeler, booleans ve tablolar. |
| Yaygın kullanım durumları | Sadece tek bir sunucu oturumu için geçerli olan ve kalıcı olması gerekmeyen veriler, örneğin durumsal etkiler veya kullanıcı oyundan ayrıldığında sıfırlanan geçici puanlar. |
| Sıklıkla değişen değerler, örneğin sayaçlar, zamanlayıcılar, durum bayrakları veya bir sağlık çubuğu. | |
| Oyun mantığını yönlendiren, anlık olarak erişilmesi gereken veriler, örneğin geçici değişkenler veya bir düşmanın mevcut sağlık durumu. |