Bölümler ve veri dağılımı

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

MemoryStoreHashMap veri yapısının serbest bırakılmasıyla Roblox, bireysel veri yapıları için mevcut tüm sınırları kaldırdı ve onları tek bir, küresel "bölüm başına" sınırla sınırlandırdı.Kesin sınır, iç değerlere ve otomatik bölümleme sürecinin verilerinizi nasıl dağıttığına dayanarak değişir, ancak genellikle daraltmadan çok daha yüksek kullanım sağlar, özellikle de hash haritaları için.Bu yeni sınır, tüm veri yapıları arasındaki bellek depolarının esnek kullanımını sağlar.

Bölümler

MemoryStores API, depolama alanının sadece bölümleri olan bölümlere veri depolar, ki bunlar sadece depolama alanı bölümleridir.Bir öğeyi bir hafıza deposuna yazdığınızda, bu öğe kesinlikle bir bölüme saklanır.Bölümler tamamen MemoryStores API tarafından yönetilir; kendiniz yönetmenize gerek yoktur.

Bölüm ataması

Bölüm depolama, bir öğenin depolandığı veri yapısına göre farklıdır.Sıralanmış haritalar ve sıralar için, her veri yapısına tek bir bölüm atanır.

Örneğin, PlayerScores adlı sıralanmış bir haritaya sahip bir karnaval oyunu ve oyunu oynamak için bekleyen oyuncu sayısının PlayerLine olduğu bir sıra düşünün:

Sıralanmış haritalar ve sıraların aksine, hashed haritalara çok sayıda bölüm atanır ve veriler bu bölümlere otomatik olarak dağıtılır.Prizes adlı bir hashtapı eklemeniz durumunda, bölümler şöyle görünebilir:

Hash haritasının tüm bölümlere nasıl var olduğunu ve her bölümün bazı öğelerden oluşan bir alt kümesine sahip olduğunu gözlemleyin.

Sınırlar

Her bölüm sınırına sahip olmak, tüm veri yapılarına daha yüksek kapasite sağlar.Ayrıca hash haritalarını da tercih eder, çünkü tüm bölümlere dağılırlar.

Örneğin, dakika başına 150,000 istek sınırını düşünün (RPM):

  • En iyi durumda, sıralanmış bir harita ve bir sıra 150,000 RPM ile sınırlıdır, çünkü her biri tek bir bölümde bulunur.
  • Harita hashlarına yapılan istekler, kendileri bölümlere yayılmış olan öğe anahtarları aracılığıyla yayılır, bu nedenle hasar haritaları, daraltmadan önce diğer veri yapılarının birçok katı daha yüksek etkili sınıra sahip olabilir.

Bu nedenle, sıralama veya "önce giren, önce çıkan" işlevine ihtiyacınız yoksa, hashed haritalar genellikle bir bellek depolama veri yapısı için en iyi seçenektir.Daha fazla bilgi için, en iyi uygulamaları görün.