Ano, redis je na to dobrý. Abychom ale pochopili podstatu, existují v zásadě dva přístupy k ukládání do mezipaměti. V závislosti na tom, zda používáte framework (a který) nebo ne, můžete mít první možnost k dispozici ve standardním nebo s použitím zásuvného modulu:
- Cache databázové dotazy, to znamená - vybrané dotazy a jejich výsledky budou uchovány v redis pro rychlejší přístup po danou dobu nebo do vymazání cache (užitečné po aktualizaci databáze). V tomto případě můžete použít vestavěné ukládání dotazů mysql do mezipaměti, bude to jednodušší než použití dalšího úložiště klíč-hodnota, nebo můžete přepsat výchozí integraci databáze vlastní třídou s využitím mezipaměti (například http://pythonhosted.org /johnny-cache/).
- Vlastní ukládání do mezipaměti, což je vytváření vlastních struktur, které se mají uchovávat v mezipaměti, a jejich pravidelné nebo ruční doplňování daty načítanými z databáze. Je flexibilnější a potenciálně výkonnější, protože můžete použít vestavěné funkce redis, jako jsou seznamy nebo seřazené sady, díky nimž je režie aktualizace mnohem menší. Vyžaduje to trochu více kódování, ale obvykle nabízí lepší výsledky, protože je více přizpůsobené. Dobrým příkladem je udržování nejlepších článků ve formě seznamu id redis a poté přístup k serializovaným článkům s daným id také z redis. Ten článek můžete ponechat nenormalizovaný - tzn. serializovaný objekt může obsahovat uživatelské jméno i uživatelské jméno, takže režii dalších dotazů můžete omezit na minimum.
Je na vás, jaký přístup zvolit, já osobně téměř vždy volím přístup číslo dvě. Ale samozřejmě vše závisí na tom, kolik máte času a co má aplikace dělat – můžete také začít s ukládáním dotazů do mezipaměti mysql a pokud výsledky nejsou dost dobré, přejít na redis a vlastní mezipaměť.