13 points par lemonmint 2024-11-29 | 1 commentaires | Partager sur WhatsApp

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.
  • 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

 
jujumilk3 2024-11-29

👀