Drastické rozdíly, které můžete očekávat, pokud ukládáte do mezipaměti to, co je dobré ukládat do mezipaměti, a vyhnete se ukládání dat, která by neměla být ukládána do mezipaměti vůbec. Stejně jako je krása v oku pozorovatele, je to stejné s představením. Zde je několik aspektů, které byste měli mít na paměti při používání poskytovatele mezipaměti druhé úrovně v režimu spánku AS:
Žádná vlastní serializace – náročné na paměť
Pokud používáte ukládání do mezipaměti druhé úrovně, nebudete moci používat rámce rychlé serializace, jako je Kryo, a budete se muset držet serializovatelného jazyka Java, což je na hovno.
Navíc pro každý typ entity budete mít samostatnou oblast a v každé oblasti budete mít záznam pro každý klíč každé entity. Z hlediska efektivity paměti je to neefektivní.
Chybí možnost ukládat a distribuovat bohaté objekty
Většina moderních mezipamětí také nabízí funkci výpočetní mřížky, protože vaše objekty jsou fragmentovány na mnoho malých částí, což snižuje vaši schopnost provádět distribuované úlohy se zaručeným společným umístěním dat. To trochu závisí na poskytovateli Gridu, ale pro mnohé by to bylo omezení.
Podoptimální výkon
V závislosti na tom, jaký výkon potřebujete a jaký typ aplikace používáte, může být použití mezipaměti druhé úrovně v režimu spánku dobrá nebo špatná volba. Dobré, pokud jde o to, že je to plug and play...“ trochu...“ špatné, protože nikdy nezmáčknete výkon, který byste získali. Navrhování bohatých modelů také znamená více práce předem a více OOP.
Omezené možnosti dotazování v samotné mezipaměti
To závisí na poskytovateli mezipaměti, ale někteří poskytovatelé opravdu nedělají dobře JOINy s klauzulí Where odlišnou od ID. Pokud se pokusíte sestavit a uložit index paměti pro dotaz například na Hazelcast, uvidíte, co tím myslím.