¡Hola!
He estado realizando algunas pruebas de carga en una instancia de Discourse y noté que, al recuperar repetidamente el mismo hilo de comentarios una y otra vez, la tasa de aciertos en la caché de Redis disminuyó en lugar de aumentar, lo cual fue un poco inesperado (para una mezcla de lecturas/escrituras vimos una tasa de aciertos de hasta el 85%, pero para lecturas al 100% cayó hasta un 22%).
He buscado en el código y en los foros aquí, pero no me queda del todo claro cómo se utiliza exactamente la caché de Redis. El README dice lo siguiente:
Usamos Redis como caché y para datos transitorios.
Utilicé redis-cli para volcar los comandos que se enviaron a la caché de Redis durante la prueba de carga mencionada anteriormente, y principalmente vi comandos “get” para trabajos programados y para claves con el prefijo “__mb_backlog_id_n_” (creo que esto se refiere a cosas de MessageBus).
Tengo las siguientes preguntas:
- ¿Existe una forma “fácil” de buscar en el código qué partes de los datos se almacenan en caché en Redis? Me encantaría poder responder estas preguntas por mi cuenta, pero desafortunadamente no estoy muy familiarizado con las aplicaciones Ruby on Rails (o con Ruby en general, la verdad).

- ¿Influye el estado de inicio de sesión (logueado/deslogueado) en las tasas de aciertos de la caché? Como referencia, la prueba de carga mencionada anteriormente utilizaba una clave de API de administrador.
- ¿Se almacenan en caché en Redis datos frecuentemente consultados o bastante estáticos, como el contenido de los mensajes? ¿O se utiliza Redis principalmente para la programación de trabajos y el procesamiento en segundo plano con Sidekiq y cosas así?
¡Gracias de antemano!