synkroniseras det automatiskt med DB när det sker en förändring i data i DB
Nej, det gör det inte.
vi måste implementera synkroniseringsstrategin, om ja, vad är det bästa sättet att göra det.
Detta beror på ditt specifika fall. Vanligtvis synkroniseras cachar på två vanliga sätt:
-
Data cachad med utgångsdatum . När cachad data har upphört att gälla lägger en bakgrundsprocess till nya data till cachen, och så vidare. Vanligtvis finns det data som kommer att uppdateras i olika intervall:10 minuter, 1 timme, varje dag...
-
Data cachelagrade på begäran. När en användare begär vissa data, går den begäran genom den icke-cachelagrade vägen, och den begäran lagrar resultatet i cache, och ett begränsat antal efterföljande förfrågningar kommer att läsa cachad data direkt om cachen är tillgänglig. Det här tillvägagångssättet kan falla under #1 också när det gäller cache-ogiltighetsintervall.
Nu tror jag att du har tillräckligt med detaljer för att fundera över vad som kan vara din bästa strategi i just ditt fall!