Z wypuszczeniem struktury danych MemoryStoreHashMap Roblox usunął wszystkie znane ograniczenia dla poszczególnych struktur danych i zastąpił je jednym globalnym ograniczeniem per-part w celu zwiększenia wydajności. Dokładne ograniczenie zmienia się w zależności od wewnętrznych wartości i tego, jak automatyczny
Dywizje
API MemoryStores przechowuje dane na partycjach, które są tylko podziałami magazynu. Za każdym razem, gdy piszesz przedmiot do skleppamięci, ten przedmiot jest przechowywany na dokładnie jednej partycji. Partycje są w pełni zarządzane przez API MemoryStores; nie musisz ich sami zarządzać.
Zakonfigurowanie partycji
Przechowywanie podziału jest inne w zależności od struktury danych, na której przechowywany jest przedmiot. Dla sortowanych map i kolejek każda struktura danych przydziela jedną partycję.
Na przykład, rozważaj grę karnawałową z sortowaną mapą nazyającą się PlayerScores i kolejką nazyającą się PlayerLine graczy, którzy czekają, aby grać w grę:
W przeciwieństwie do sortowanych map i kolejek, mapy haszowe są przydzielane do kilku podziałek, a dane są automatycznie rozdzielane pomiędzy te podziałki. Jeśli dodasz haszową mapę nazwę Prizes, podziałki mogą wyglądać tak:
Zauważ, jak mapa hash istnieje na wszystkich partycjach i każda partycja ma pewną podstawę przedmiotów.
Ograniczenia
Posiadanie ograniczenia per-partyjnego umożliwia wyższą przepustowość dla wszystkich struktur danych. Ulubia również mapy haszowania, ponieważ są one rozdzielane na wszystkie partycje.
Na przykład, rozważaj limit na poziomie podziału 150 000 żądań na minutę (RPM):
- W najlepszym przypadku sortowana lista i kolejka liczą się do 150 000 RPM, ponieważ każda z nich mieszka na jednej pamięci.
- Zgłoszenia do szyfrowania map są rozprzestrzeniane na klucze przedmiotu, które są sama rozprzestrzeniane na podziałach, więc szyfrowanie map może mieć znacznie wyższy limit skuteczności przed spowolnieniem, wiele razy niż inne struktury danych.
Z tego powodu, jeśli nie potrzebujesz funkcji sortowania lub "pierwszych w, pierwszych wyjść", mapy haszowane są zwykle najlepszym wyborem dla struktury danych pamięci. Aby uzyskać więcej informacji, zobacz najlepsze praktyki.