Redis Open Source: ce que le dépôt documente, des types de données au build depuis les sources
Serveur de structures de données en mémoire servant de cache, de courtier de messages et de moteur de requêtes documentaires et vectorielles pour des applications temps réel.
En bref
- De quoi s’agit-il ?
- Une explication fondée sur le README de redis/redis : l'autodescription de Redis, les cas d'usage listés, les types de données, les parcours de démarrage rapide, les dépendances de build et la licence selon les versions.
- À qui s’adresse-t-il ?
- La section licence du README est la plus décisive pour quiconque redistribue Redis : la licence dépend de la version, de BSDv3 jusqu'à 7.2.x à un choix triple entre RSALv2, SSPLv1 et AGPLv3 à partir de 8.0.x. L'extrait de licence fourni indique qu'aucun fichier LICENSE n'a été trouvé au chemin habituel, et les métadonnées du dépôt enregistrent la licence SPDX comme NOASSERTION, si bien que les termes complets de l'octroi ne font pas partie du matériel source disponible.
- Puis-je l’utiliser commercialement ?
- À vérifier. La licence de ce dépôt n’entre pas dans les catégories que nous classons automatiquement : lisez son fichier LICENSE avant tout usage commercial.
- Est-il encore maintenu ?
- Oui. Le dépôt a reçu de nouveaux commits au cours des dernières 24 heures.
- En quel langage est-il écrit ?
- Principalement C, d’après les statistiques de langage de GitHub.
Ces réponses reposent sur les données GitHub du projet (dernière synchronisation le 15 septembre 2026) et sur notre analyse. Elles ne constituent pas un avis juridique.
ANALYSE OPEN SOURCE APPROFONDIE
Redis tel que le README le définit
Le README commence par définir Redis en ses propres termes : pour les développeurs qui construisent des applications temps réel pilotées par les données, Redis est le cache, le serveur de structures de données et le moteur de requêtes documentaires et vectorielles préféré, le plus rapide et le plus riche en fonctionnalités. La même section enregistre un changement de nom : Redis Community Edition (Redis CE) a été renommé Redis Open Source avec la version v8.0. Le README affirme également une latence très faible, souvent inférieure à la milliseconde, pour les lectures et écritures parce que les données sont conservées principalement en mémoire. Les métadonnées du dépôt ajoutent les bases : le projet est écrit en C, la branche par défaut s'appelle unstable, et GitHub affiche 75 882 étoiles, 24 749 forks et 2 891 problèmes ouverts.
Pour redis/redis, le matériau source indique : For developers, who are building real-time data-driven applications, Redis is the preferred, fastest, and most feature-rich cache, data structure server, and document and vector query engine.. Le README associe ce dépôt au langage C, à la licence et à la branche unstable. Ces données bornent l analyse : elles décrivent le projet publié, sans fournir à elles seules une mesure de performance ou une garantie de support.
Huit cas d'usage dans le README
Le README liste huit cas d'usage principaux. Le cache prend en charge plusieurs politiques d'éviction, l'expiration des clés et l'expiration des champs de hachage. Un magasin de sessions distribué modélise les données de session comme chaînes, JSON ou hachages. Comme serveur de structures de données, Redis offre des structures de bas niveau telles que chaînes, listes, ensembles, hachages, ensembles triés et JSON, avec des sémantiques de haut niveau comme compteurs, files d'attente, classements et limiteurs de débit, plus transactions et scripts. Le reste de la liste couvre un magasin NoSQL pour les données clé-valeur, documentaires et de séries temporelles ; un moteur de recherche et de requêtes avec indexation des documents hachage et JSON ; un magasin d'événements et courtier de messages fondé sur listes, ensembles triés, ensembles, flux et pub/sub ; un magasin vectoriel pour les applications d'IA générative ; et des analyses en temps réel pour la personnalisation, les recommandations, la détection de fraude et l'évaluation des risques.
Types de données et moteurs
La section des types de données est la plus longue du README, et l'étendue est le propos. Les chaînes sont des séquences d'octets pour le cache, les compteurs et les opérations bit à bit ; JSON prend en charge les documents imbriqués indexés avec JSONPath ; les tableaux sont des collections de chaînes éparses, adressables par index ; les hachages sont des mappages champ-valeur avec expiration au niveau du champ. Redis Search est décrit comme transformant Redis en base documentaire, base vectorielle, index secondaire et moteur de recherche. Listes, ensembles et ensembles triés couvrent piles, files d'attente, suivi d'éléments uniques et classements. Un type de données ensemble vectoriel apparaît en version bêta. Les index géospatiaux, bitmaps, bitfields, HyperLogLog et une famille de structures probabilistes (filtre de Bloom, filtre de coucou, t-digest, Top-k, esquisse count-min) sont listés à côté des séries temporelles, pub/sub, flux, transactions et scripts Lua pour la programmabilité côté serveur.
Exécuter Redis sans le compiler
Pour exécuter Redis sans compiler, le README renvoie à Redis Cloud, aux images Docker officielles et aux distributions binaires via Snap, Homebrew, RPM et paquets Debian. L'exemple Docker est docker run -d -p 6379:6379 redis:latest. La session redis-cli montrée dans le README fait répondre PONG à ping, OK à set foo bar, bar à get foo, et incr fait passer un compteur de 1 à 2. Redis Insight est décrit comme un outil visuel qui sert aussi de plateforme d'apprentissage et d'intégration, intégrant un assistant en langage naturel nommé Redis Copilot. Les bibliothèques clientes sont listées pour Python, C#/.NET, JavaScript, Java, Go, PHP et C, et des projets de démarrage existent pour plusieurs de ces langages.
Build depuis les sources : dépendances et bootstrap
La section build s'applique à Redis 8.10 et au-dessus ; pour les versions antérieures, le README renvoie à la branche 8.8. Les dépendances sont sensibles à la version : GCC ou Clang, LLVM 21, CMake 3.25 à 3.31.6, Rust 1.94, OpenSSL, Python 3 et diverses bibliothèques de développement. CMake 4.x est explicitement non pris en charge. La cible make bootstrap détecte le système d'exploitation et installe les prérequis de chaque module groupé ; make bootstrap list affiche ce qui manque sans installer, et make bootstrap dry-run imprime les commandes d'installation exactes par module. Un environnement de build Docker, docker/Dockerfile.noble basé sur Ubuntu 24.04, est recommandé afin de ne jamais toucher à la chaîne d'outils de l'hôte. Les archives de version intègrent la configuration des modules dans redis.conf, tandis qu'un checkout git nécessite make modules-update et le redis-full.conf généré automatiquement.
Options de build, plateformes, allocateur et tests
Le README nomme Linux, OSX, OpenBSD, NetBSD et FreeBSD comme plateformes prises en charge, les systèmes dérivés de Solaris étant pris en charge au mieux. Les options de build incluent BUILD_TLS=yes pour TLS, USE_SYSTEMD=yes pour l'intégration systemd, PROG_SUFFIX pour ajouter un suffixe aux noms de programmes, make 32bit pour les binaires 32 bits, et BUILD_COMPRESSION=yes pour la compression zstd du flux de réplication à partir de 8.10. L'allocateur est choisi via la variable d'environnement MALLOC, jemalloc par défaut sur Linux et libc malloc ailleurs. L'horloge monotone utilise par défaut POSIX clock_gettime, l'horloge matérielle ARM aarch64 étant activée par défaut. make distclean efface les options de build mises en cache et l'état des dépendances, et make test exécute la suite de tests.
Licence, contributions et marques
Le README décrit un schéma de licence dépendant de la version. Les versions 7.2.x et antérieures sont sous BSDv3 ; 7.4.x à 7.8.x sous choix de RSALv2 ou SSPLv1 ; 8.0.x et suivantes sous une triple licence RSALv2, SSPLv1 ou AGPLv3 à votre option. Les contributions de code sont publiées sous la Redis Software Grant and Contributor License Agreement, et le README renvoie à CONTRIBUTING.md et SECURITY.md. Il note aussi que les optimisations Intel SVS-VAMANA, construites avec BUILD_INTEL_SVS_OPT=yes, sont en code source fermé et ne peuvent pas être combinées avec des distributions AGPLv3 ou SSPLv1. L'extrait de licence fourni avec ce dépôt indique qu'aucun fichier LICENSE n'a été trouvé au chemin habituel, si bien que le texte complet de la licence ne fait pas partie des sources disponibles. Une section séparée explique que Redis est propriétaire des marques déposées de son nom et de son logo et publie une politique de marques sur redis.io.
Conclusion éditoriale
La section licence du README est la plus décisive pour quiconque redistribue Redis : la licence dépend de la version, de BSDv3 jusqu'à 7.2.x à un choix triple entre RSALv2, SSPLv1 et AGPLv3 à partir de 8.0.x. L'extrait de licence fourni indique qu'aucun fichier LICENSE n'a été trouvé au chemin habituel, et les métadonnées du dépôt enregistrent la licence SPDX comme NOASSERTION, si bien que les termes complets de l'octroi ne font pas partie du matériel source disponible.
Notes de la communauté