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

Redis pomalu získává velké struny

Redis není určen k ukládání velmi velkých předmětů. V Redis byste neměli ukládat celou svou sbírku do jednoho řetězce, ale jako kontejner pro své objekty použijte Redis list nebo sadu.

Navíc formát nálevu není optimalizován pro prostor ... potřebovali byste kompaktnější formát. Na to jsou pravděpodobně lepší protokolové vyrovnávací paměti, MessagePack nebo dokonce prostý JSON. Před uložením dat byste měli zvážit použití lehkého kompresního algoritmu (jako Snappy, LZO, Quicklz, LZF atd...).

Konečně, výkon je pravděpodobně vázán na síť. Na mém počítači trvá načtení 20 MB objektu z Redis 85 ms (ne 3 sekundy). Nyní, když spustím stejný test pomocí vzdáleného serveru, bude to trvat 1,781 sekundy, což se očekává v této síti 100 Mbit/s. Doba trvání je plně závislá na šířce pásma sítě.

Poslední bod:ujistěte se, že používáte nejnovější verzi Redis – byla provedena řada optimalizací pro práci s velkými objekty.



  1. jak uložit obrázek do redis pomocí pythonu / PIL

  2. Správa uživatelů databáze s ClusterControl

  3. Atribut Mongoengine creation_time v dokumentu

  4. MongoError:Parametr filtru musí být objekt