redisCommencer avec Redis


Remarques

Cette section fournit une vue d'ensemble de ce qu'est Redis et des raisons pour lesquelles un développeur peut vouloir l'utiliser.

Il devrait également mentionner tous les grands sujets au sein de Redis, et établir un lien avec les sujets connexes. La documentation de Redis étant nouvelle, vous devrez peut-être créer des versions initiales de ces rubriques connexes.

Versions

Version Date de sortie
3.2.3 2016-08-02
3.2.2 2016-07-28

Installez Redis en utilisant Docker

Il est simple de commencer à utiliser Redis en utilisant docker:

docker pull redis
docker run -p 6379:6379 --rm --name redis redis
 

Maintenant, vous avez une instance en cours d'exécution sur le port 6397

Attention: Toutes les données seront supprimées lorsque Redis sera arrêté.

Pour connecter le redis-cli, démarrez un autre menu fixe:

docker run -it --link redis:redis --rm redis redis-cli -h redis -p 6379
 

Vous pouvez maintenant jouer avec votre docker redis.

Vue d'ensemble

Redis est une base de données distante en mémoire qui offre des performances élevées, une réplication et un modèle de données unique pour produire une plate-forme permettant de résoudre les problèmes. Redis est une structure de données en mémoire ouverte (sous licence BSD), utilisée comme base de données, cache et courtier de messages. Il est classé en tant que magasin clé-valeur NoSQL. Il prend en charge des structures de données telles que des chaînes, des hachages, des listes, des ensembles, des ensembles triés avec des requêtes de plage, des bitmaps, des hyperloglogs et des index géospatiaux avec des requêtes radius. Prenant en charge cinq types différents de structures de données,

  1. STRING (Fonctionne sur toute la chaîne, les parties, les entiers et les flottants)
  2. LISTE (Push ou pop articles des deux extrémités)
  3. SET (Ajouter, extraire, supprimer, vérifier, intersecter, union, différence, etc.)
  4. HASH (stocker, coller, supprimer dans le hachage)
  5. ZSET (identique à celui défini mais de manière ordonnée)
  6. GEO (Ajouter, mettre à jour, supprimer la latitude et la longitude, entrer dans un redius donné)

Redis intègre la réplication, les scripts Lua, l'expulsion LRU, les transactions et différents niveaux de persistance sur disque (sync / async).

Avant la version 3, Redis fonctionnait en mode maître-esclave et exigeait que Redis-Sentinel fournisse une haute disponibilité. Seul maître accepte les écritures et synchronise les données sur ses esclaves en les falsifiant.

À partir de la version 3, Redis fonctionne et recommande le mode multi-maître où les fonctionnalités de basculement, de partitionnement / partitionnement et de redimensionnement sont intégrées. Redis-Sentinel n'est pas requis à partir de la version 3. Pour que le cluster redis exploite un minimum de 3 nœuds / processus maîtres est requis.

Les fonctionnalités supplémentaires sont la réplication, la persistance et le partitionnement côté client. Redis s'adapte à une grande variété de problèmes qui peuvent être naturellement associés à ce que Redis propose, vous permettant de résoudre vos problèmes sans avoir à effectuer le travail conceptuel requis par d'autres bases de données.

Redis "Hello World"

Vous devez d'abord installer et démarrer votre serveur Redis, consultez le lien ci-dessous qui peut vous aider à installer Redis sur votre serveur ou votre ordinateur local.

Installation et configuration

Maintenant, ouvrez votre invite de commande et exécutez la commande redis-cli :

Pour enregistrer le premier jeu> SET 'nom du fichier' puis 'valeur'

127.0.0.1:6379> SET hkey "Hello World!"
 

Appuyez sur Entrée, vous devriez voir

OK
 

Puis entrez:

GET hkey
 

tu devrais voir:

"Hello World!"
 

Exemple de sortie d'écran:

Exemple de sortie d'écran

Interface de ligne de commande Redis

redis-cli est le programme d'interface de ligne de commande Redis qui permet d'envoyer des commandes à Redis et de lire les réponses envoyées par le serveur, directement depuis le terminal. L'utilisation de la ligne de commande de base est ci-dessous:

Accès aux redis:

$ redis-cli
127.0.0.1:6379>
 

Accès aux redis avec authentification:

$ redis-cli -a myPassword
127.0.0.1:6379>
 

Sélectionnez la base de données et affichez la taille de la base de données (le numéro de base de données par défaut est 0):

127.0.0.1:6379> dbsize
(integer) 2
127.0.0.1:6379> select 1
OK
127.0.0.1:6379[1]> dbsize
(integer) 20
 

Obtenir des informations et des statistiques sur le serveur:

127.0.0.1:6379> info
redis_version:2.4.10
redis_git_sha1:00000000
redis_git_dirty:0
arch_bits:64
multiplexing_api:epoll
gcc_version:4.4.6
process_id:947
uptime_in_seconds:873394
uptime_in_days:10
lru_clock:118108
used_cpu_sys:19.55
used_cpu_user:397.46
used_cpu_sys_children:0.00
used_cpu_user_children:0.00
connected_clients:1
connected_slaves:0
client_longest_output_list:0
client_biggest_input_buf:0
blocked_clients:0
used_memory:14295792
used_memory_human:13.63M
used_memory_rss:19853312
used_memory_peak:14295760
used_memory_peak_human:13.63M
mem_fragmentation_ratio:1.39
mem_allocator:jemalloc-2.2.5
loading:0
aof_enabled:0
changes_since_last_save:0
bgsave_in_progress:0
last_save_time:1468314087
bgrewriteaof_in_progress:0
total_connections_received:2
total_commands_processed:2
expired_keys:0
evicted_keys:0
keyspace_hits:0
keyspace_misses:0
pubsub_channels:0
pubsub_patterns:0
latest_fork_usec:0
vm_enabled:0
role:master
db0:keys=2,expires=0
db1:keys=20,expires=0
 

En sortant du redis-cli:

127.0.0.1:6379> exit
 

Redis installtion sur Windows, avec l'exemple Node.js

Redis dispose d'un port Windows fourni par «Microsoft Open Technologies». Vous pouvez utiliser le programme d'installation msi trouvé sur: https://github.com/MSOpenTech/redis/releases

Une fois l'installation terminée, vous pouvez voir que "Redis" est un service Windows (et son statut doit être "Démarré")

Pour écrire un exemple "Hello world" utilisant Redis dans Node.js (dans Windows également), vous pouvez utiliser le module npm suivant: https://www.npmjs.com/package/redis

exemple de code:

var redis = require('redis'),
    client = redis.createClient();

client.set('mykey', 'Hello World');
client.get('mykey', function(err,res){
    console.log(res);
});