J'ai une application qui reçoit des messages de périphériques toutes les quelques minutes. J'ai aussi des clients qui demandent les 10 derniers messages pour un appareil particulier.Devrais-je mettre les données en cache de manière préventive?
Je souffre avec une certaine saturation de base de données et je souhaite mettre en cache cette liste par appareil. La prémisse de base est que lorsqu'un message est reçu du périphérique, le processeur qui reçoit les messages invalidera le cache pour ce périphérique.
Ma question est de savoir si je devrais juste invalider le cache et le faire ensuite reconstruire lorsque le client suivant se connecte, ou devrais-je avoir le processeur de l'appareil reconstruire le cache de manière préventive. Le processeur de l'appareil peut récupérer la mémoire cache actuelle, désactiver la dernière entrée, ajouter la nouvelle entrée et mettre en cache le nouveau résultat. J'apprécie que cela puisse être une question de réponse, mais j'apprécierais d'entendre les propres expériences des gens dans ce domaine.
Heureusement, il n'y a qu'un seul événement qui invalide le cache, la réception d'un nouveau message. Ce "devrait" être un changement relativement trivial. –