Sto costruendo un MVC
ASP.NET
Sito web di tipo IMDb che presenta varie informazioni sui film agli utenti, basandosi su API di terze parti per (inizialmente) recuperare informazioni sui film.
Gli ID che rappresentano ciascun film sul sito web sono identici a quelli di IMDb (ID tt1234567
punti per lo stesso film su entrambi i siti Web).
Il modo in cui le informazioni sul film vengono recuperate (e successivamente archiviate sul server SQL) è la seguente:
- L'utente richiede un filmato con id
tt1234567
- MVC verifica se il film con id
tt1234567
esiste nel database.- In caso contrario, richiede API esterne per recuperare informazioni sui film e archiviarli nel database.
- Se sì, recupera le informazioni direttamente dal database.
Funziona bene e sono al punto in cui sto implementando il caching. Ci sono alcune colonne particolari per ogni riga nella tabella Movie
che cambiano ogni determinato numero di giorni (ad esempio la valutazione generale e il numero di voti per quel film in IMDb). Pertanto, ho bisogno di implementare una funzione in cui le colonne pertinenti della riga vengono aggiornate dopo un certo periodo di tempo (ad esempio ogni 10 giorni).
Quale sarebbe l'approccio corretto per fare questo? Devo implementare un'attività pianificata che viene eseguita ogni 10 giorni e aggiorna le colonne necessarie nel DB, o dovrei in qualche modo aggiungere il caching nel mix?