синхронизира ли се с DB автоматично, когато има промяна в данните в DB
Не, не е така.
ще трябва да приложим стратегията за синхронизиране, ако да, кой е най-добрият начин да го направим.
Това ще зависи от вашия конкретен случай. Обикновено кешовете се синхронизират по два често срещани начина:
-
Кеширани данни с изтичане на срока . След като кешираните данни изтекат, фонов процес добавя нови данни към кеша и т.н. Обикновено има данни, които ще се обновяват на различни интервали:10 минути, 1 час, всеки ден...
-
Данните се кешират при поискване. Когато потребител поиска някои данни, тази заявка преминава през некеширания път и тази заявка съхранява резултата в кеша, а ограничен брой последващи заявки ще прочетат директно кеширани данни, ако кешът е наличен. Този подход също може да попадне в номер 1 по отношение на интервала за невалидиране на кеша.
Сега вярвам, че имате достатъчно подробности, за да помислите коя може да бъде най-добрата ви стратегия във вашия конкретен случай!