Salut !
J’ai effectué quelques tests de charge sur une instance Discourse et j’ai remarqué que lorsque je récupérais à plusieurs reprises le même fil de commentaires, le taux de succès du cache Redis diminuait au lieu d’augmenter, ce qui était un peu inattendu (pour un mélange de lectures/écritures, nous avons observé un taux de succès allant jusqu’à 85 %, tandis que pour 100 % de lectures, il a chuté jusqu’à 22 %).
J’ai fait quelques recherches dans la base de code et sur les forums ici, mais l’utilisation exacte du cache Redis reste un peu floue pour moi. Le README indique ceci :
Nous utilisons Redis comme cache et pour les données transitoires.
J’ai utilisé redis-cli pour extraire les commandes envoyées au cache Redis pendant le test de charge mentionné ci-dessus, et j’ai principalement vu des commandes « get » pour les tâches planifiées et pour les clés préfixées par « __mb_backlog_id_n_ » (je crois que cela fait référence à des éléments de MessageBus).
Voici mes questions :
- Existe-t-il un moyen « simple » de parcourir la base de code pour identifier quelles données sont mises en cache dans Redis ? J’aimerais beaucoup pouvoir répondre à ces questions par moi-même, mais malheureusement, je ne suis pas très familier avec les applications Ruby on Rails (ni avec Ruby en général, d’ailleurs).

- Le fait d’être connecté ou déconnecté a-t-il un impact sur les taux de succès du cache ? Pour référence, le test de charge mentionné ci-dessus utilisait une clé d’API administrateur.
- Les données fréquemment interrogées ou relativement statiques, comme le contenu des messages, sont-elles mises en cache dans Redis ? Ou Redis est-il principalement utilisé pour la planification des tâches et le traitement en arrière-plan avec Sidekiq et autres ?
Merci d’avance !