Qu'est-ce que Redis ?
Redis ou "REmote DIctionary Server" est défini comme un support de stockage de base de données open source "clé-valeur", également appelé serveur de structure de données. En son cœur, Redis fonctionne avec des paires clé-valeur et stocke les données dans un emplacement facilement référençable par deux valeurs spécifiques. Ces associations clé-valeur sont généralement un ensemble de deux entrées de données liées qui sont constituées par une clé , qui est un identifiant unique pour un type de données et la valeur , qui peuvent être soit les données particulières identifiées, soit un indicateur de l'emplacement de ces données.
Redis dispose de cinq principaux types de données qu'il peut utiliser :
- Chaînes – Les chaînes sont une valeur de base dans Redis. Ils peuvent contenir n'importe quel type de taille de données jusqu'à 512 Mo, y compris des jpegs ou d'autres objets comme des blobs.
- Listes – Les listes sont exactement comme leur nom l'indique; simplement des listes de chaînes, triées par ordre dans lequel elles sont appliquées
- Ensembles – Les ensembles sont simplement un groupe de chaînes non ordonnées
- Trié Ensembles – Les ensembles triés s'apparentent à des ensembles normaux. La principale différence est que les éléments d'ensemble triés sont associés et triés par un champ de score pondéré. Cela permet de définir des éléments prioritaires lors de la saisie de données dans l'ensemble trié
- Hachages – Les hachages mappent les champs de chaîne et les valeurs elles-mêmes. Ils sont capables de définir plusieurs éléments et peuvent stocker plus de 4 milliards de paires champ-valeur
Redis conserve les entrées de la base de données entièrement en mémoire et n'utilisera le disque dur que pour le stockage persistant. Ces valeurs de paires clé-valeur sont souvent utilisées dans les tables de hachage, les tables de recherche et les fichiers de configuration. Redis peut accepter des valeurs-clés pour une grande variété de formats afin que les opérations puissent être exécutées sur le serveur avec une charge de travail réduite. Redis peut également répliquer des données sur n'importe quel nombre de serveurs esclaves, ce qui en fait un candidat de choix pour les configurations de réplication de bases de données volumineuses.
Quels sont les avantages de Redis ?
- Redis est extrêmement rapide − Redis peut exécuter des centaines de milliers de commandes (set, get) par seconde.
- Il prend en charge les types de données bien connus − Comme indiqué ci-dessus, Redis prend en charge la plupart des types de données normalement utilisés par les développeurs, tels que les chaînes, les listes, les ensembles, les ensembles triés et les hachages.
- Les opérations sont protégées (ou atomiques) ce qui signifie :
- Toutes les opérations d'une transaction sont chronologiques et exécutées en séquence
- Toutes les opérations d'une transaction sont effectuées comme une seule unité de travail, ce qui limite les interférences d'autres opérations
- .Base de données multifonction − Redis est une base de données noSQL multifonction qui peut être utilisée dans une grande variété de cas d'utilisation, notamment la mise en cache, un ensemble de données volumineux, des recherches en texte intégral, le traitement de données Spark ou tout autre manipulation de données en direct.
Toutes ces options placent Redis fermement au milieu de l'écosystème NoSQL.
Qu'est-ce que NoSQL ?
NoSQL est un type de conception de base de données qui prend en considération un large groupe de modèles de données, y compris les formats clé-valeur, document, colonne et graphique.
NoSQL signifie "pas seulement SQL" et est une alternative aux bases de données relationnelles plus traditionnelles comme MySQL dans lesquelles les données sont présentées dans des tables, et le schéma de données est soigneusement construit avant que la base de données réelle ne soit créée. Les bases de données NoSQL sont particulièrement utiles pour travailler avec de très grands ensembles de données distribués
Une ventilation rapide de la façon dont NoSQL se compare aux autres schémas de base de données :
Installer Redis sur Ubuntu
Pour installer Redis sur Ubuntu, SSH sur votre serveur, une fois à l'invite de commande, tapez les commandes suivantes. Cela installera Redis sur votre serveur.
apt-get update
apt-get install redis-server
Démarrer Redis
redis-server
Ensuite, assurons-nous que Redis démarre au démarrage :
systemctl enable redis-server.service
Définissons également l'une des principales variables de mémoire dans la configuration Redis (cette valeur dépendra de la mémoire disponible de vos serveurs)
vim /etc/redis/redis.conf
maxmemory 256mb
maxmemory-policy allkeys-lru
Enfin, redémarrons Redis pour nous assurer que les valeurs sont conservées :
systemctl restart redis-server.service
Vérifier si Redis est actif
Exécutez la commande suivante à l'invite de commande des serveurs :
redis-cli
Cela ouvrira une invite Redis.
redis 10.0.0.1:6379
Après avoir exécuté la commande ci-dessus, l'adresse IP de vos serveurs (10.0.0.1) et le port sur lequel Redis s'exécute seront affichés (6379).
Tapez maintenant la commande suivante à l'invite Redis :
redis 10.0.0.1:6379> ping
"PONG " indique que Redis est installé avec succès sur votre machine.
PONG
Installer Redis via la source
Pour installer Redis manuellement via la source, connectez-vous simplement en SSH à votre serveur et exécutez la commande suivante :
wget http://download.redis.io/redis-stable.tar.gz && tar xvzf redis-stable.tar.gz && cd redis-stable && make && make install
Le fichier de configuration Redis se trouvera dans le répertoire d'installation actuel. Copions-le dans un meilleur emplacement :
mkdir /etc/redis
cp redis.conf /etc/redis/
Maintenant, commençons Redis :
redis-server /etc/redis/redis.conf &
redis-cli ping
PONG
Enfin, voici une façon amusante de tester Redis. Essayez-le ! Dans l'ensemble, si vous avez besoin d'une solution NoSQL rapide, robuste et hautement évolutive à utiliser avec votre application ou en tant que complément de projet, Redis peut répondre à vos besoins ! Essayez-le sur l'une de nos offres de produits Private Cloud ou sur l'un de nos serveurs dédiés stables et fiables !
Meetups et contacts pour Redis
Nous aimerions remercier les personnes de https://redislabs.com/ qui ont fourni l'un des meilleurs et des plus excellents supports au fil des ans, un travail formidable !
Pour l'assistance aux entreprises, contactez :
Blake Lipps – représentant/consultant du compte Midwest Redis
Drake Albee – consultant Redis de la côte ouest
Pour une assistance individuelle, consultez les pages de la communauté Redis. Les domaines dans lesquels vous pouvez trouver un support actif ou interagir avec la communauté Redis sont indiqués ici :
- Le QG de la communauté Redis est sur Reddit dans le subreddit. Vous pouvez utiliser cette communauté pour demander de l'aide, publier de nouvelles idées de nouvelles fonctionnalités, créer des liens vers des articles intéressants pour la communauté Redis et/ou obtenir des réponses à d'autres questions
- Rejoignez la liste de diffusion en vous inscrivant par e-mail
- Rendez-vous sur le canal #redis sur Freenode (lien d'accès web)
- Vérifiez la balise Redis sur Stack Overflow
- Suivez le fil d'actualités Redis sur Twitter
Si vous vivez dans l'une des plus grandes villes répertoriées ci-dessous, il existe également des groupes de rencontre Redis locaux ! Informations sur la réunion Redis locale :
- Groupe Meetup Redis de Londres
- Groupe Meetup de San Francisco
- Groupe Meetup de New York
- Groupe Meetup #RedisTLV (Tel Aviv Redis)
- Meetup Paris Redis