← Bases de données
RE

Redis

Cochez Redis sur une application et elle reçoit sa propre base logique sur le Redis partagé du serveur, ou sa propre instance dédiée si elle en a besoin. Voici exactement ce que ça donne, ce qui est sauvegardé, et comment s'y connecter de l'extérieur.

Ce que vous obtenez

  • Redis 7 (redis:7-alpine), partagé sur le serveur par défaut : chaque application reçoit son propre numéro de base logique, de 0 à 15, sur la même instance, protégée par mot de passe.
  • Donnez plutôt à cette application son propre Redis depuis la carte Redis, avec sa propre limite de mémoire, une politique d'éviction au choix (noeviction, allkeys-lru, volatile-lru, allkeys-lfu ou volatile-ttl) et une persistance append-only synchronisée chaque seconde. Vos clés sont copiées lors du changement, dans un sens comme dans l'autre.
  • Les sauvegardes planifiées hors serveur couvrent aujourd'hui Postgres, MySQL et ClickHouse; le module Redis partagé ne fait pas partie de ce système de sauvegarde-restauration. Un Redis dédié garde son fichier append-only sur disque, et déplacer une application vers un serveur de base de données le copie dans la foulée.
  • Le serveur de secours d'un serveur de base de données garde une copie en direct du Redis partagé et prend le relais automatiquement si le serveur principal est injoignable pendant 3 minutes (Pro et Team). Un Redis dédié par application démarre vide sur le serveur de secours après un basculement, il n'est pas répliqué.
  • Aucune restauration à un instant précis pour Redis, c'est réservé à Postgres.

Comment l'ajouter

  1. 1

    Cochez Redis à la création de l'application

    Dans Nouvelle application, ou plus tard depuis Modifier → Modules complémentaires, cochez Redis et déployez. Railyard injecte REDIS_URL, REDIS_HOST, REDIS_PORT, REDIS_PASSWORD et REDIS_DB, en choisissant automatiquement un numéro de base logique libre.

  2. 2

    Ou ajoutez-le depuis la CLI

    railyard apps create <name> <git-url> --addons redis fait la même chose depuis un terminal.

  3. 3

    Donnez à l'application sa propre instance si elle a besoin d'isolation

    Sur la carte Redis, Give this app its own Redis fixe une limite de mémoire et une politique d'éviction et copie vos clés; Go back to the shared Redis fait l'inverse.

Un exemple en un clic

Chatwoot utilise Postgres pour ses données et Redis pour la file d'attente de Sidekiq, un couplage réaliste si vous ajoutez Redis pour des tâches de fond plutôt que seulement pour du cache.

Déployer Chatwoot Forfait gratuit, sans carte.

Ou déployez une instance autonome déploie une instance Redis autonome sans rien d'autre attaché, si c'est tout ce qu'il vous faut.

FAQ

Combien coûte Redis sur Railyard?
Redis tourne sur le serveur que vous payez déjà; il n'y a pas de frais supplémentaire pour le module partagé. Un Redis dédié tourne aussi sur le même serveur, à moins que vous le déplaciez vers son propre serveur de base de données.
Les modules Redis sont-ils sauvegardés?
Le module Redis partagé ne fait pas partie des sauvegardes planifiées de Railyard, celles-ci couvrent Postgres, MySQL et ClickHouse. Traitez-le comme un cache ou une file que vous pouvez reconstruire plutôt qu'un système de référence, à moins d'avoir donné à l'application sa propre instance dédiée avec la persistance activée.
Comment me connecter de l'extérieur, avec redis-cli ou une interface?
Ouvrez Trusted addresses sur la carte Redis et autorisez votre IP. Railyard ouvre un proxy TCP pour cette seule adresse, et la carte vous donne la commande redis-cli exacte à coller.
Comment migrer des données Redis existantes?
Pointez votre application vers une URL Redis externe sous Resources pendant que vous copiez les données, ou lancez redis-cli --rdb contre le REDIS_URL généré une fois le module en place. Move off Heroku Key-Value Store (Redis) détaille une migration complète depuis Heroku.

Tutoriels qui l'utilisent

Documentation générale