Redis est rapide, mais des consultations de données fréquentes peuvent alourdir la charge du serveur API. En particulier, lorsqu’il s’agit de données en temps réel dont les mises à jour sont irrégulières mais qui doivent être consultées souvent, une stratégie de cache efficace est nécessaire.
-
Problème : Redis PubSub ou Keyspace Notification peuvent rendre la logique de détection des mises à jour et de traitement des messages complexe, ou entraîner un gaspillage de ressources.
-
Solution : le message d’invalidation, pris en charge depuis Redis 6.0, est une méthode dans laquelle le serveur gère le cache client.
- Après qu’un client a lu une clé, si un autre client la modifie, Redis envoie un message de mise à jour pour demander la suppression du cache.
-
Implémentation : en Go, il est possible d’appliquer les messages d’invalidation avec une combinaison redigo+ristretto ou avec la bibliothèque rueidis.
- redigo+ristretto nécessite une logique personnalisée, tandis que rueidis permet une implémentation simple via la fonction
DoCache.
- redigo+ristretto nécessite une logique personnalisée, tandis que rueidis permet une implémentation simple via la fonction
-
Résultat : dans un cas réel, le temps de réponse de l’API a été amélioré jusqu’à 82 %, et la charge sur le serveur Redis a également diminué. La gestion du cache côté client reste nécessaire, mais le gain de performances est important.
1 commentaires
👀