# O que o Discourse usa o Redis para?

**URL:** <https://meta.discourse.org/t/what-does-discourse-use-redis-for/155042>\
**Category:** Development\
**Created:** [Junho 16, 2020, 7:11pm UTC](https://meta.discourse.org/t/what-does-discourse-use-redis-for/155042 "2020-06-16T19:11:22Z")\
**Posts on this page:** 1\
**Showing post:** 3

<div class="post-metadata">

**Author:** ![neounix](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/neounix/32/215617_2.png) [@neounix](https://meta.discourse.org/u/neounix)\
**Post date:** [Dezembro 1, 2020, 12:28pm UTC](https://meta.discourse.org/t/what-does-discourse-use-redis-for/155042/3 "2020-12-01T12:28:15Z")

</div>

> [@Tuhadj](#):
>
> Redis e Discourse

O Discourse utiliza o Sidekiq, um [agendador de tarefas](https://en.wikipedia.org/wiki/Job_scheduler) de código aberto escrito em [Ruby](https://en.wikipedia.org/wiki/Ruby_(programming_language)). Geralmente (e por padrão), o Sidekiq apenas executa tarefas e não realiza o agendamento, ou pelo menos é o que dizem as referências (talvez as coisas tenham mudado?); no entanto, entendo que a versão empresarial do Sidekiq vem com agendamento OOTB (pronto para uso).

O Sidekiq utiliza o [Redis](https://en.wikipedia.org/wiki/Redis) como um armazenamento de estruturas de dados em memória e também é escrito em Ruby. O Sidekiq lê tarefas de uma fila do Redis, usando o modelo [Primeiro a Entrar, Primeiro a Sair](https://en.wikipedia.org/wiki/FIFO_(computing_and_electronics)) (FIFO), para processar as tarefas. O processamento de tarefas é assíncrono e permite que uma thread da web atenda solicitações em tempo real, em vez de processar tarefas pesadas que podem ser “agendadas” para execução em segundo plano.

O Sidekiq é descrito como um “software de processamento de filas bem conhecido” e é utilizado pelo Discourse em tarefas projetadas para rodar como processos em segundo plano, e não diretamente nas solicitações da aplicação web.

Você pode explorar os diversos tipos de tarefas que o Discourse executa, com base na breve visão acima, no repositório do Discourse:

> **[discourse/app/jobs at main · discourse/discourse](https://github.com/discourse/discourse/tree/main/app/jobs)**
>
> main/app/jobs

O Redis pode ser utilizado pelo Discourse em outras partes da arquitetura; mas, pelo que me recordo, o principal uso do Redis é como “companheiro” do Sidekiq, o “cara das tarefas”. Membros da equipe do Discourse mais inteligentes que eu sobre a HLA do Discourse certamente podem elaborar com mais detalhes sobre como o Redis é utilizado dentro da HLA do Discourse.

Espero que isso ajude.

---

_[View the full topic](https://meta.discourse.org/t/what-does-discourse-use-redis-for/155042)._
