← Bancos de dados
RE

Redis

Marque Redis numa aplicação e ela recebe o próprio banco lógico no Redis compartilhado do servidor, ou a própria instância dedicada se precisar de uma. Veja exatamente o que isso te dá, o que entra no backup, e como acessar de fora.

O que você ganha

  • Redis 7 (redis:7-alpine), compartilhado no servidor por padrão: cada aplicação recebe o próprio número de banco lógico, de 0 a 15, na mesma instância, protegida por senha.
  • Dê a esta aplicação o próprio Redis no card do Redis, com o próprio limite de memória, uma política de remoção à sua escolha (noeviction, allkeys-lru, volatile-lru, allkeys-lfu ou volatile-ttl) e persistência append-only sincronizada a cada segundo. Suas chaves são copiadas na troca, nos dois sentidos.
  • Os backups agendados fora do servidor hoje cobrem Postgres, MySQL e ClickHouse; o add-on Redis compartilhado não faz parte desse pipeline de backup e restauração. Um Redis dedicado mantém o arquivo append-only em disco, e mover uma aplicação para um servidor de banco de dados copia esse arquivo como parte da mudança.
  • O standby de um servidor de banco de dados mantém uma cópia viva do Redis compartilhado e assume automaticamente se o primário ficar inacessível por 3 minutos (Pro e Team). Um Redis dedicado por aplicação começa vazio no standby depois de um failover, ele não é replicado.
  • Sem recuperação para um ponto no tempo no Redis, isso é só para Postgres.

Como adicionar

  1. 1

    Marque Redis ao criar a aplicação

    Em Nova app, ou depois em Editar → Add-ons, marque Redis e faça o deploy. O Railyard injeta REDIS_URL, REDIS_HOST, REDIS_PORT, REDIS_PASSWORD e REDIS_DB, escolhendo automaticamente um número de banco lógico livre.

  2. 2

    Ou adicione pela CLI

    railyard apps create <name> <git-url> --addons redis faz a mesma coisa a partir de um terminal.

  3. 3

    Dê à aplicação a própria instância se ela precisar de isolamento

    No card do Redis, Give this app its own Redis define um limite de memória e uma política de remoção e copia suas chaves; Go back to the shared Redis desfaz isso.

Um exemplo de um clique

O Chatwoot roda Postgres para os dados e Redis para a fila de jobs do Sidekiq, uma combinação realista se você está adicionando Redis para jobs em segundo plano e não só como cache.

Fazer deploy de Chatwoot Plano Free, sem cartão.

Ou faça o deploy de uma instância independente faz o deploy de uma instância Redis independente sem mais nada conectado, se for só isso que você precisa.

Perguntas frequentes

Quanto custa o Redis no Railyard?
O Redis roda no servidor que você já está pagando; não há cobrança extra pelo add-on compartilhado. Um Redis dedicado também roda no mesmo servidor, a menos que você o mova para o próprio servidor de banco de dados.
Os add-ons de Redis entram em backup?
O add-on Redis compartilhado não faz parte dos backups agendados do Railyard, que cobrem Postgres, MySQL e ClickHouse. Trate-o como um cache ou uma fila que você consegue reconstruir, e não como um sistema de registro, a menos que você tenha dado à aplicação a própria instância dedicada com persistência ativada.
Como me conecto de fora, com redis-cli ou uma interface gráfica?
Abra Trusted addresses no card do Redis e libere o seu IP. O Railyard abre um proxy TCP só para esse endereço, e o card te dá o comando redis-cli exato para colar.
Como eu migro dados de Redis já existentes?
Aponte sua aplicação para uma URL de Redis externa em Resources enquanto copia os dados, ou rode redis-cli --rdb contra o REDIS_URL gerado depois que o add-on estiver no ar. Saia do Heroku Key-Value Store (Redis) mostra uma migração completa saindo do Heroku Redis.

Tutoriais que usam este banco

Documentação geral