Ano, souvisí to s efektivitou.
Požádali jsme vždy užitečného Pietera Noordhuise, jednoho z hlavních vývojářů společnosti Redis, o příspěvek a navrhl, abychom použili hashe Redis. Hashe v Redis jsou slovníky, které lze velmi efektivně kódovat v paměti; nastavení Redis „hash-zipmap-max-entries“ konfiguruje maximální počet položek, které může mít hash, a přitom je stále efektivně kódován. Zjistili jsme, že toto nastavení je nejlepší kolem 1000; vyšší a příkazy HSET by způsobily znatelnou aktivitu CPU. Pro více podrobností se můžete podívat na zdrojový soubor zipmap.
Malé hashe jsou kódovány speciálním způsobem (zipmaps), který je paměťově nenáročný, ale dělá operace O(N) místo O(1). Takže s jednou zipmapou se 100 000 poli namísto 100 zipmapy s 1 000 poli nezískáte žádné paměťové výhody, ale všechny vaše operace se 100krát zpomalí.