Journal Le roi est mort, vive le roi ! Les alternatives de Redis sont là

Posté par  (site web personnel) . Licence CC By‑SA.
13
3
avr.
2024

Bonjour Nal !

Après le changement de licence de Redis, ce qui devait arriver arriva, et des alternatives libres apparaissent.

Tout d'abord, on a le timing magnifique de Microsoft qui publie quelques jours avant le-dit changement : Garnet, sous licence MIT, et utilisant le protocole RESP, permettant d'utiliser les clients Redis tels quels.

Ensuite, on a l'annonce de Redict, sous licence LGPL 3.0-only (à différencier donc des LGPL 3.0 et plus).

Puis Valkey, supporté par la Linux Foundation, sous licence BSD 3-clauses.

Malgré l'annonce de Redict, ce n'est qu'aujourd'hui que sort sa première version : https://redict.io/posts/2024-04-03-redict-7.3.0-released/

Sinon, le protocole RESP est plutôt simple à implémenter, voici un tutoriel sur comment créer en Elixir un mini Redis : https://docs.statetrace.com/blog/redis-server/

Je m'en étais inspiré il y a quelque années pour écrire un cache basé sur Mnesia (base de données distribuées natives à Erlang/Elixir).

Bref, comme d'habitude, la communauté est la pour fournir gratuitement et bénévolement un service crucial aux entreprises qui éditent des services payant et propriétaire (bah oui, qui a besoin de Redis dans son infra, en vrai ?).

Si vous voulez éviter que ces alternatives deviennent également propriétaire, peut être que financer ces projets pour faire de l'opensource un business model viable serait une bonne idée ;)

PS: Ah mince, c'est pas vendredi, trop tôt pour le troll, pardon :D

  • # KeyDB

    Posté par  . Évalué à 4.

    il y a aussi KeyDB qui a maintenant quelques années. Jamais testé, mais j'ai vu pas mal d'article à l'époque de quelques devs enjoués.

  • # Paquets Slackware dans les tuyaux.

    Posté par  (Mastodon) . Évalué à 10.

    Je suis le mainteneur de Redis dans le projet slackbuilds.org, qui vise à fournir des scripts pour empaqueter des tonnes d'outils pour Slackware.
    Ça ne veut absolument pas dire que je bosse sur le projet Redis, juste que je suis capable de changer un numéro de version dans un script shell (bon, un peu plus en vrai, mais on relativise hein).

    Alors avec les premières versions disponibles de redict et hiredict (la lib C qui va bien, forkée depuis hiredis), et des versions disponibles de valkey, j'ai préparé les paquets pour ces deux bases.

    Redis est un projet plutôt bien fait, léger même dans son fonctionnement interne, et son code, donc ça n'a pas été compliqué de permettre aux trois de tourner en parallèle sur une même machine, en configurant simplement un port différent pour le serveur.

    On peut donc (enfin à la prochaine mise à jour publique, ce vendredi) construire les paquets et les ajouter à sa Slackware préférée, faire tourner les trois en parallèle, tester le client de l'un sur l'autre, copier les données, et constater qu'aujourd'hui, on ne fait pas la différence, ce qui est tout à fait normal et attendu.

    Maintenant je peux sortir les pop-corns.

    • Yth.
  • # Équipe premier degré

    Posté par  (site web personnel) . Évalué à 3.

    bah oui, qui a besoin de Redis dans son infra, en vrai ?).

    Linuxfr.org, cf https://github.com/linuxfrorg/linuxfr.org/blob/master/db/redis.txt

    • [^] # Re: Équipe premier degré

      Posté par  (site web personnel) . Évalué à 3.

      "Avoir Redis" et "Avoir besoin de Redis", petite nuance :)

      -- dit-il sans avoir lu le lien.


      Plus sérieusement, j'introduis rarement du Redis dans mon infra, quand c'est le cas c'est pour soit :

      • du Pub/Sub (quand le LISTEN/NOTIFY de PostgreSQL n'est pas suffisant, et quand je ne suis pas en train d'écrire en Erlang/Elixir)
      • du cache (quand j'ai pas un service type cloudflare, et que je ne suis pas en train d'écrire en Erlang/Elixir, mnesia c'est la vie)

      Et dans le cas du cache, j'ai tellement peu d'utilisateurs que ce n'est pas critique du tout (à quoi bon cacher une requête par mois).

      https://link-society.com - https://kubirds.com - https://github.com/link-society/flowg

      • [^] # Re: Équipe premier degré

        Posté par  (site web personnel) . Évalué à 3.

        Les deux raisons citées, dans le cas de LinuxFr.org.

        • [^] # Re: Équipe premier degré

          Posté par  (Mastodon) . Évalué à 4. Dernière modification le 04 avril 2024 à 11:48.

          C'est ce qui m'a plut, à l'usage, avec Redis, ça permet ces choses là, pub/sub, cache, fifo/lifo, bus de donnée, et ça le fait bien, sans fioritures ou complexité superflue.

          C'est souvent une solution assez simple à mettre en œuvre, et qui fait le boulot.

          En bref, c'est un outil qui tient ses promesses.

          • Yth.
      • [^] # Re: Équipe premier degré

        Posté par  . Évalué à 2.

        memcached ?

Suivre le flux des commentaires

Note : les commentaires appartiennent à celles et ceux qui les ont postés. Nous n’en sommes pas responsables.