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

Aplikační mezipaměť v.s. Úsporná mezipaměť druhé úrovně, kterou použít?

Opravdu záleží na modelu dotazování vaší aplikace a na požadavcích na provoz.

  1. Použití Redis/Hazelcast může přinést nejlepší výkon, protože již nebude existovat žádná zpáteční cesta do DB, ale nakonec budete mít normalizovaná data v DB a denormalizovanou kopii v mezipaměti, což bude tlačit na aktualizaci mezipaměti opatření. Získáte tak nejlepší výkon za cenu implementace aktualizace mezipaměti, kdykoli se změní trvalá data.
  2. Použití mezipaměti 2. úrovně se snadněji nastavuje, ale ukládá entity pouze podle ID. K dispozici je také cache dotazů, ukládající ID vrácená daným dotazem. Mezipaměť 2. úrovně je tedy dvoufázový proces, který musíte doladit, abyste dosáhli nejlepšího výkonu. Když provádíte projekční dotazy, mezipaměť objektů 2. úrovně vám nepomůže, protože funguje pouze při načítání entity. Hlavní výhodou mezipaměti 2. úrovně je to, že je snazší ji synchronizovat při každé změně dat, zvláště pokud jsou všechna vaše data uložena v režimu spánku.

Pokud tedy potřebujete maximální výkon a nevadí vám implementace logiky aktualizace mezipaměti, která zajišťuje minimální okno konečné konzistence, použijte externí mezipaměť.

Pokud potřebujete pouze ukládat entity do mezipaměti (které se obvykle tak často nemění) a většinou k nim přistupujete prostřednictvím načítání entit Hibernate, pak vám může pomoci mezipaměť 2. úrovně.




  1. Jak zlepšit využití CPU serveru Redis?

  2. Operátoři agregace MongoDB pro díly s datem vrácení

  3. Jak nainstalovat Redis

  4. Jak spouštět surové MongoDB dotazy přímo v Ruby