sql >> Databáze >  >> NoSQL >> Redis

Redis hash velmi pomalá rychlost zápisu

Musíte se trochu více zamyslet nad tím, co pomocí tohoto programu skutečně srovnáváte. Mohu vám říci, že to není Redis, ale spíše schopnost vašeho systému spustit ping pongovou hru mezi dvěma procesy (protože všechna vaše volání hsetnx jsou synchronní).

Než se pokusíte srovnat Redis, přečtěte si prosím tuto stránku, určitě vám to pomůže.

Váš předpoklad, že by se rychlost Redisu měla blížit rychlosti zápisu RAM, je poněkud naivní. Redis je dálkové obchod a u operací O(1) je většina režie způsobena náklady na komunikaci. U synchronního provozu (jako váš příklad) je to také kvůli nákladům na plánovač OS.

Pokud chcete použít velké množství příkazů za sebou, musíte použít zřetězení. Nebo pokud vám nezáleží na pořadí, můžete pracovat současně s několika připojeními (toto je výchozí režim pro redis-benchmark). Nebo můžete místo toho zkusit poslat asynchronní příkazy. Ve všech případech je myšlenkou amortizovat náklady na zpáteční cesty na server Redis

S pipelinem na několika připojeních s asynchronním provozem získáte maximální propustnost, kterou může Redis na tomto počítači dosáhnout.




  1. Java, MongoDB:Jak aktualizovat každý objekt při iteraci obrovské sbírky?

  2. Jak sečíst všechna pole v dílčím dokumentu MongoDB?

  3. MongoError:připojte ECONNREFUSED 127.0.0.1:27017

  4. MongoDB SSL s certifikáty s vlastním podpisem v Node.js