Apprenez ces 15 points, vous gagnez chaque minute base de données Redis

1, Redis Présentation

REmote DICTIONNAIRE Server (Redis) est écrit par Salvatore Sanfilippo des systèmes de stockage clé-valeur. Redis est une utilisation open source écrit en ANSI C, BSD sont conformes au réseau d'accords et de soutien, en fonction de la persistance de la mémoire peut se connecter type base de données valeur-clé, et fournit des API multi-langues. Il est souvent appelé une structure de données du serveur, puisque la valeur (valeur) peut être une chaîne (String), un hachage (la carte), liste (Liste), set (jeux), et une collection ordonnée (ensembles triés) et d'autres types.

Nous savons tous que les Redis repose sur la valeur clé aucune base de données SQL, donc, premier regard sur les connaissances pertinentes sur les points clés

1, peut être toute séquence binaire en tant que clé utilisée

2, Redis ont des règles uniformes pour la conception clé

3, une longueur de valeur de clé est autorisée supérieure 512

2 langues prises en charge,

ActionScript Bash C C # C ++ Clojure Common Lisp

Cristal D Dart Elixir Lisp Erlang

GNU Prolog Fancy Go Haskell Haxe Io Java Javascript

Julia Lua Matlab mruby Nim Node.js Objective-C

OCaml Pascal Perl PHP pur Python données R Racket

Rebol Ruby Rust Scala Scheme Smalltalk Swift Tcl VB VCL

3, les scénarios d'application Redis à la fin ce? ?

1, le plus courant est le cache de session

2, les files d'attente de messages, tels que le paiement

3, tableaux de comptage ou de l'activité

4, publier, message d'abonnement (notification de message)

5, la liste des produits, liste des commentaires, etc.

4, Redis installé

A propos de l'installation Redis et connaissances connexes Introduction s'il vous plaît consulter le service de base de données Redis NoSQL de

Probablement les étapes d'installation sont les suivantes:

Redis est c le développement du langage, l'installation Redis besoin de compiler l'environnement en langage C

Si vous n'avez pas besoin d'être en ligne pour installer gcc: yum install gcc-c ++

La première étape: Get paquet source: wget

Deuxième étape: Déballez Redis: tar-Redis 3.0.0.tar.gz

Troisième étape: compilateur. Redis dans le répertoire source (cd Redis-3.0.0). exécution make

Quatrième étape: Installer. make install prefix = / usr / Redis locaux /

paramètre #PREFIX spécifie le répertoire d'installation de Redis

5, Redis type de données

Redis prend en charge un total de cinq types de données

1, une chaîne (string)

2, hash (hash)

3, la liste (liste)

4, set (collection)

5, Zset (ensemble trié collection ordonnée)

chaîne (string)

Il est Redis types de données de base, une valeur correspondant à une clé, une note clé est plus 512Mo de stockage.

127.0.0.1:6379 >  clé set « Bonjour tout le monde »

bien

127.0.0.1:6379 >  obtenir la clé

« Bonjour tout le monde »

127.0.0.1:6379 >  clé GetSet "nihao"

« Bonjour tout le monde »

127.0.0.1:6379 >  MSET key1 "salut" key2 "nihao" key3 "bonjour"

bien

127.0.0.1:6379 >  get key1

« Salut »

127.0.0.1:6379 >  get key2

"Nihao"

127.0.0.1:6379 >  get key3

« Bonjour »

Commandes associées

Jeu de clés est une valeur de consigne (valeur)

obtenir une clé pour obtenir la valeur correspondante (valeur)

Key GetSet une valeur de consigne (valeur) et retourne la valeur correspondant

MSET valeur de consigne (valeur) de la pluralité de clés

hash (hash)

hachage Redis est un champ de clé de type d'ensemble de la paire est une valeur de chaîne de caractères et la table de mappage, adapté pour stocker des objets

127.0.0.1:6379 >  HRégler redishash 1 "001"

(Entier) 1

127.0.0.1:6379 >  hget redishash 1

"001"

127.0.0.1:6379 >  hmset redishash 1 "001" 2 "002"

bien

127.0.0.1:6379 >  hget redishash 1

"001"

127.0.0.1:6379 >  hget redishash 2

"002"

127.0.0.1:6379 >  hmget redishash 12

1) "001"

2) "002"

Commandes associées

Key HSeT le hachage correspondant dans la configuration de champ est la valeur, qui n'existe pas si le hachage est automatiquement créé,

hget obtenir une configuration de champ de la valeur de hachage dans

Configuration champ en vrac hmset pluralité de valeurs de hachage pour le même

les valeurs des champs en vrac hmget obtenus avec une pluralité de hachage

liste (liste)

Est-Redis simple liste de chaînes, elle est triée par ordre d'insertion

127.0.0.1:6379 >  mot lpush salut

(Entier) 1

127.0.0.1:6379 >  mot lpush bonjour

(Entier) 2

127.0.0.1:6379 >  mot monde rpush

(Entier) 3

127.0.0.1:6379 >  mot de lrange 02

1) "bonjour"

2) "salut"

3) "monde"

127.0.0.1:6379 >  mot Llen

(Entier) 3

Commandes associées

lpush insert éléments spécifiés dans la liste de gauche pour revenir après la longueur d'insertion de la liste

des éléments d'insertion de rpush liste droit au retour spécifié après la longueur d'insertion de la liste

Renvoie la longueur de la liste Llen

lrange Renvoie la plage de valeur de l'élément spécifié dans la liste spécifiée

ensemble (collection)

collection non ordonnée de type chaîne, ne peut pas être répété

127.0.0.1:6379 >  sadd Redis redisset

(Entier) 1

127.0.0.1:6379 >  sadd Redis redisset1

(Entier) 1

127.0.0.1:6379 >  sadd Redis redisset2

(Entier) 1

127.0.0.1:6379 >  smembers Redis

1) "redisset1"

2) "redisset"

3) "redisset2"

127.0.0.1:6379 >  sadd Redis redisset2

(Entier) 0

127.0.0.1:6379 >  smembers Redis

1) "redisset1"

2) "redisset"

3) "redisset2"

127.0.0.1:6379 >  smembers Redis

1) "redisset1"

2) "redisset3"

3) "redisset"

4) "redisset2"

127.0.0.1:6379 >  Srem Redis redisset

(Entier) 1

127.0.0.1:6379 >  smembers Redis

1) "redisset1"

2) "redisset3"

3) "redisset2"

Commandes associées

élément de chaîne sadd pour ajouter un jeu de clés correspondant à l'ensemble, un retour réussi, retourne 0 si l'élément est présent

smembers Renvoie tous les éléments dans l'ensemble

srem supprimer un élément de la collection spécifiée

Zset (ensemble trié collection ordonnée)

Est un ensemble ordonné de type chaîne, ne peut pas être répété

trié à définir pour les besoins de chaque élément pour spécifier une fraction La fraction d'éléments dans l'ordre croissant, si une pluralité d'éléments ont la même partition, lieux lexicographiques dans l'ordre croissant, triés définir si bien adapté pour transporter Classement

127.0.0.1:6379 >  Zadd nosql 0001

(Entier) 1

127.0.0.1:6379 >  Zadd nosql 0002

(Entier) 1

127.0.0.1:6379 >  Zadd nosql 0003

(Entier) 1

127.0.0.1:6379 >  zcount nosql 00

(Entier) 3

127.0.0.1:6379 >  zcount nosql 03

(Entier) 3

127.0.0.1:6379 >  zrem NoSQL 002

(Entier) 1

127.0.0.1:6379 >  zcount nosql 03

(Entier) 2

127.0.0.1:6379 >  NoSQL 003 Zscore

"0"

127.0.0.1:6379 >  zrangebyscore nosql 010

1) "001"

2) "003"

127.0.0.1:6379 >  Zadd nosql 1003

(Entier) 0

127.0.0.1:6379 >  Zadd nosql 1004

(Entier) 1

127.0.0.1:6379 >  zrangebyscore nosql 010

1) "001"

2) "003"

3) "004"

127.0.0.1:6379 >  Zadd nosql 3005

(Entier) 1

127.0.0.1:6379 >  Zadd nosql 2006

(Entier) 1

127.0.0.1:6379 >  zrangebyscore nosql 010

1) "001"

2) "003"

3) "004"

4) "006"

5) "005"

Commandes associées

Zadd addition d'un ou plusieurs éléments du sorteset spécifié

zrem supprimer un ou plusieurs éléments de la sorteset spécifiée

Voir sorteset zcount nombre spécifié d'éléments dans la plage spécifiée de la fraction

Zscore voir le sorteset spécifique fraction déterminée des éléments

zrangebyscore voir le sorteset spécifique dans la plage spécifiée de scores de tous les éléments

6, les commandes associées clés

127.0.0.1:6379 >  clé existe

(Entier) 1

127.0.0.1:6379 >  existe key1

(Entier) 1

127.0.0.1:6379 >  existe key100

(Entier) 0

127.0.0.1:6379 >  obtenir la clé

"Nihao, bonjour"

127.0.0.1:6379 >  get key1

« Salut »

127.0.0.1:6379 >  del key1

(Entier) 1

127.0.0.1:6379 >  get key1

(Nil)

127.0.0.1:6379 >  renommer Key0 clé

bien

127.0.0.1:6379 >  obtenir la clé

(Nil)

127.0.0.1:6379 >  get Key0

"Nihao, bonjour"

127.0.0.1:6379 >  Type Key0

chaîne

# existe pour confirmer si la clé existe

del # clé de suppression

expire # Régler l'heure d'expiration de la clé (en secondes)

persistent # Configurer la clé pour supprimer le délai d'expiration

Renommez la clé # renommage

le type de retour de type #

7, Redis commandes services connexes

127.0.0.1:6379 >  sélectionnez 0

bien

127.0.0.1:6379 >  d'info

# serveur

redis_version: 3.0.6

redis_git_sha1: 00000000

redis_git_dirty: 0

redis_build_id: 347e3eeef5029f3

redis_mode: autonome

os: Linux 3.10.0-693.el7.x86_64 x86_64

arch_bits: 64

multiplexing_api: epoll

gcc_version: 4.8.5

id_processus: 31197

run_id: 8b6ec6ad5035f5df0b94454e199511084ac6fb12

tcp_port: 6379

uptime_in_seconds: 8514

uptime_in_days: 0

hz: 10

lru_clock: 14015928

fichier_config: /usr/local/redis/redis.conf

------------------- lignes de N sont omis

127.0.0.1:6379 >  GET 0 CONFIG

(Liste vide ou set)

127.0.0.1:6379 >  GET 15 CONFIG

(Liste vide ou set)

slect # sélectionnez la base de données (base de données n ° 0-15)

arrêter la connexion de sortie #

Info # obtenir des informations de service et les statistiques

moniteur de surveillance en temps réel #

config get # Configurer l'accès aux services

flushdb # supprimer la base de données actuellement sélectionnée dans la clé

flushall # Supprimer base de données de clé pour tous

8, Redis de publier et abonnez-vous

Redis publication et d'abonnement (pub / sub) messagerie est l'un de ses modes, l'une des informations de transmission, la partie réception de l'information.

Le chiffre trois clients souscrivent simultanément au même canal

La figure suivante est un canal pour envoyer un nouveau message 1, il enverra un message aux trois clients souscrivent

9, affaires Redis

transaction Redis peut exécuter plusieurs commandes à la fois

1, avant d'envoyer la commande exec files d'attente de la mémoire cache, les extrémités de transaction

2, après réception de la commande exec pour exécuter des opérations de transaction, si une commande échoue, peut continuer à exécuter d'autres commandes

3, un processus de transaction est effectuée, la demande présentée par les autres clients ne sera pas insérée dans la liste des commandes d'exécution de transaction

Un coup de transaction en trois étapes

 Prépare une transaction (commande: multi)

 exécution de la commande

 Fin de la transaction (commande: exec)

127.0.0.1:6379 >  MULTI

bien

127.0.0.1:6379 >  ensemble clé key1

FILE D'ATTENTE

127.0.0.1:6379 >  obtenir la clé

FILE D'ATTENTE

127.0.0.1:6379 >  renommer key001 clé

FILE D'ATTENTE

127.0.0.1:6379 >  exec

1) OK

2) "key1"

3) OK

10, configuration de sécurité Redis

Vous pouvez améliorer la sécurité en modifiant le fichier de configuration pour le paramètre de mot de passe

 #requirepass foobared

Uncomment le signe #, vous pouvez configurer le mot de passe

Sans une requête de mot de passe de configuration suit comme

127.0.0.1:6379 >  GET requirepass CONFIG

1) "requirepass"

2) ""

Après avoir configuré le mot de passe, vous devez être certifié

127.0.0.1:6379 >  GET requirepass CONFIG

(Erreur) NOAUTH Authentification requise.

127.0.0.1:6379 >  AUTH foobared # Certification

bien

127.0.0.1:6379 >  GET requirepass CONFIG

1) "requirepass"

2) "foobared"

11, Redis persistance

Redis durable de deux façons: snapshotting (instantanés), fichier Append uniquement (AOF)

Snapshotting (instantané)

1, les données stockées dans la mémoire de manière à écrire instantané binaire, tel que la valeur par défaut dans dump.rdb

2, 1900 sauver

# À moins de 900 secondes si plus d'une clé est modifiée, l'instantané est enregistré

3, 10 économisera 300

# Au bout de 300 secondes si plus de 10 clé est modifiée, l'instantané est enregistré

4, économiser 6010000

# Dans les 60 secondes si plus de 10000 clés est modifiée, l'instantané est enregistré

fichier append-only (AOF)

1, l'utilisation de services durables seront AOF chaque commande d'écriture reçue append au fichier par la fonction d'écriture (appendonly.aof)

2, AOF stockage persistant Paramètre Description

 appendOnly oui

 # Activer le stockage persistant AOF

 appendfsync toujours

 # Après réception d'une commande d'écriture immédiatement écrites sur le disque, le pire rendement, une meilleure

 appendfsync everysec

 # Écrit sur le disque une fois par seconde, l'efficacité et le centre de l'efficacité

 appendfsync pas

 # Complètement dépendant du système d'exploitation, une meilleure efficacité, l'effet est pas garanti

12, test de performance Redis

Livré avec les outils de tests pertinents

# Redis-référence --help

Utilisation: Redis-référence >  

 -h < nom d'hôte >  nom d'hôte du serveur (par défaut 127.0.0.1)

 -p < port >  Port du serveur (par défaut 6379)

 -s < douille >  socket serveur (remplacements d'hôte et le port)

 -a < mot de passe >  Mot de passe Redis Auth

 -c < clients >  Nombre de connexions parallèles (par défaut 50)

 -n < demandes >  Nombre total de demandes (par défaut 100000)

 -d < taille >  Taille des données de la valeur SET / GET en octets (par défaut 2)

 -dbnum < db >  Sélectionner le numéro de db spécifié (par défaut 0)

 -k < booléen >  1 = 0 = garder en vie Reconnect (par défaut 1)

 -r < keyspacelen >  Utilisez les touches aléatoires pour SET / GET / INCR, des valeurs aléatoires pour SADD

 L'utilisation de cette option, la référence élargira la chaîne __rand_int__

 à l'intérieur d'un argument d'un nombre de 12 chiffres dans la plage spécifiée

 de 0 à keyspacelen-1. La substitution change à chaque fois une commande

 est exécuté. Les tests par défaut utilisent pour frapper les touches au hasard dans la

 plage spécifiée.

 -P < numreq >  pipeline < numreq >  demandes. Par défaut 1 (pas d'pipeline).

 Calme -q. Il suffit de présenter les valeurs de requête / s

 --csv sortie au format CSV

 -l boucle. Exécutez les tests pour toujours

 -t < essais >  exécuter uniquement la liste séparées par des virgules des tests. Le test

 Les noms sont les mêmes que ceux produits en sortie.

 -I mode veille. Connexions inactives Il suffit d'ouvrir N et attendre.

Exemples:

 Exécutez la référence avec la configuration par défaut contre 127.0.0.1:6379:

 $ Redis-référence

 Utiliser 20 clients parallèles, pour un total de demandes 100k, contre 192.168.1.1:

 $ Redis-référence -h 192.168.1.1 -p 6379 -n 100000 -c 20

 Remplissez 127.0.0.1:6379 avec seulement en utilisant le test SET sur les touches 1 million:

 $ Redis-référence set -n -t 1000000 -r 100000000

 Benchmark 127.0.0.1:6379 pour quelques commandes produisant sortie CSV:

 $ Redis-référence -t Ping, ensemble, obtenir -n 100000 --csv

 Indice de référence d'une ligne de commande spécifique:

 $ Redis-référence 10000 -r -n 10000 eval 'redis.call de retour ( "ping")' 0

 Remplir une liste de 10000 éléments aléatoires:

 $ Redis-référence 10000 -r -n 10000 lpush mylist __rand_int__

 Sur les lignes de commande spécifiées par l'utilisateur __rand_int__ est remplacé par un nombre entier aléatoire

 avec une plage de valeurs choisies par l'option -r.

En même temps, l'exécution de test réelle demande 1000000

# Redis-référence -n 1000000 -q

PING_INLINE: 152578.58 demandes par seconde

PING_BULK: 150308.14 demandes par seconde

SET: 143266.47 demandes par seconde

GET: 148632.58 demandes par seconde

INCR: 145857.64 demandes par seconde

LPUSH: 143781.45 demandes par seconde

LPOP: 147819.66 demandes par seconde

SADD: 138350.86 demandes par seconde

SPOP: 134282.27 demandes par seconde

LPUSH (nécessaire pour lrange de référence): 141302.81 demandes par seconde

LRANGE_100 (100 premiers éléments): 146756.67 demandes par seconde

LRANGE_300 (300 premiers éléments): 148104.27 demandes par seconde

LRANGE_500 (450 premiers éléments): 152671.75 demandes par seconde

LRANGE_600 (600 premiers éléments): 148104.27 demandes par seconde

ÉESM (10 touches): 132731.62 demandes par seconde

13, de sauvegarde et de récupération Redis

Redis sauvegarde automatique de deux façons

Le premier est de sauvegarder des fichiers par dump.rdb

La deuxième utilisation pour la sauvegarde fichier aof automatique

sauvegarde dump.rdb

défaut de service Redis sauvegarde automatique de fichiers (AOF pas ouvrir le boîtier), lorsque le service démarre, il passe automatiquement aux données de charge à partir du fichier dump.rdb.

La configuration spécifique redis.conf

1900 sauver

économiser 30010

sauver 6010000

Vous pouvez enregistrer manuellement la commande peut également être réalisé manuellement sauvegarde

127.0.0.1:6379 >  jeu de clés de nom

bien

127.0.0.1:6379 >  SAUVER

bien

127.0.0.1:6379 >  Nom du jeu key1

bien

127.0.0.1:6379 >  BGSAVE

Contexte épargne a commencé

Lorsque Redis instantané pour le fichier de vidage, il génère automatiquement un fichier dump.rdb

# Le nom de fichier où vider la DB

dbfilename dump.rdb

-rw-r - r-- 1 root root 25317 avril 20:17 dump.rdb

commande SAVE indique que l'utilisation principale du processus en cours pour vider un instantané de base de données

commande BGSAVE dit que le processus principal bifurquer un processus enfant pour effectuer des sauvegardes de clichés

Deux différences de sauvegarde, l'ancien va bloquer le processus principal, ce dernier ne sera pas.

Pour la récupération de l'instance

# Notez que vous devez spécifier un répertoire ici, pas un nom de fichier.

dir / usr / local / redisdata /

chemin de stockage du fichier de sauvegarde

127.0.0.1:6379 >  GET dir CONFIG

1) "dir"

2) "/ usr / local / redisdata"

127.0.0.1:6379 >  clé set 001

bien

127.0.0.1:6379 >  ensemble key1002

bien

127.0.0.1:6379 >  ensemble key2003

bien

127.0.0.1:6379 >  sauver

bien

Les fichiers de sauvegarde de sauvegarde dans un autre répertoire

# Ll / usr / local / redisdata /

au total 4

-rw-r - r-- 1 root root 4917 avril 21:24 dump.rdb

# date de

Mar 1721:25:38 CST avr 2018

# Cp ./dump.rdb / tmp /

Supprimer les données

127.0.0.1:6379 >  del key1

(Entier) 1

127.0.0.1:6379 >  get key1

(Nil)

Arrêtez les services, le fichier de sauvegarde d'origine recopié pour sauvegarder le répertoire de sauvegarde

# Redis-cli -a foobared arrêt

# Lsof -i: 6379

# Cp /tmp/dump.rdb / usr / local / redisdata /

cp: Ecraser '/usr/local/redisdata/dump.rdb' y?

# Redis-serveur /usr/local/redis/redis.conf &

31487

Connectez-vous pour voir si la récupération de données

# Redis-cli -a foobared

127.0.0.1:6379 >  mget key2 clé key1

1) "001"

2) "002"

3) "003"

Sauvegarde automatique AOF

le service Redis est désactivé par défaut cette configuration

###### AJOUT SEULEMENT MODE ##########

appendOnly pas

# Le nom du fichier append uniquement (par défaut: « appendonly.aof »)

appendfilename "appendonly.aof"

# Appendfsync toujours

appendfsync everysec

# Appendfsync pas

Les paramètres pertinents du fichier de configuration, a déjà été introduit en détail.

AOF sauvegarde de fichiers, sauvegarde toute l'histoire, et exécuté les commandes, et mysql binlog est très similaire au moment où la reprise est de ré-exécuter la commande une nouvelle fois avant l'exécution, à noter est que avant la récupération et la récupération de base de données, comme la nécessité de supprimer manuellement del exécution des commandes ou des abus.

AOF avec système de vidage de sauvegarde différent

1, aof sauvegarde de fichiers et différents fichiers de vidage de sauvegarde

2, un service différent de priorité pour lire le fichier, sera lancé conformément à la priorité suivante

 Charger les données de récupération de fichier AOF uniquement si la configuration AOF, redémarrage

 Si les deux RBD et l'AOF, le démarrage est de ne charger que les données de récupération de fichiers AOF

 Le fichier de vidage de charge pour restaurer les données si la seule configuration RBD, commencez

Remarque: Tant que aof configuré, mais pas aof fichier, cette fois-ci pour démarrer la base de données sera vide

14, l'optimisation de la production Redis introduit

1, optimisation de la gestion de la mémoire

hachage-max-ZipList-512 entrées

 hash-max-ZipList valeur 64

 liste-max-ZipList-512 entrées

 list-max-ZipList valeur 64

 Les membres de la valeur #list est pas beaucoup de temps sera disponible dans un format compact pour stocker relativement faible mémoire en tête

Lorsque l'environnement linux en cours d'exécution Redis, si la mémoire du système est relativement faible, cette fois, il y aura une sauvegarde automatique peut échouer, le besoin de modifier le système paramètre vm.overcommit_memory, qui est une stratégie d'allocation de mémoire système linux

 0 signifie que le noyau vérifie s'il y a suffisamment de mémoire offre disponible avec le processus d'utilisation, s'il y a suffisamment de mémoire, l'allocation de mémoire permet, sinon, l'allocation de mémoire échoue, et l'erreur est renvoyée au processus d'application.

 1 montre le noyau permet la distribution de toute la mémoire physique, quel que soit l'état de la mémoire actuelle.

 2 représente le noyau permet une allocation de mémoire physique et de l'espace de swap que la somme de toute la mémoire

 Description officielle Redis est recommandé de modifier la valeur vm.overcommit_memory est 1, peut être modifié de la manière suivante:

(1) modifier la modification /etc/sysctl.conf vm.overcommit_memory = 1, et que les profilés prennent effet sysctl -p

(2) sysctl vm.overcommit_memory = 1

 (3) echo 1 >  / Proc / sys / vm / overcommit_memory

2, une mémoire pré-alloué

3, le mécanisme de persistance

 instantané du temps: inefficace, perte de données

 AOF: maintenir l'intégrité des données (pas trop d'un exemple du nombre de 2G plus)

Résumé de l'optimisation

1) sélectionner le type de données approprié en fonction du service

2) Lorsque la scène d'affaires sans se ferme persistants de toute façon persistante (en utilisant le disque ssd pour améliorer l'efficacité)

3) Ne pas utiliser le mode de mémoire virtuelle, écriture AOF par seconde en temps réel

4) Ne laissez pas l'utilisation de la mémoire du serveur physique Redis où plus de 3/5 du montant total de la mémoire

5) Pour utiliser MaxMemory

6) l'utilisation de grandes quantités de données sont séparées par une pluralité d'instances de service Redis

15, les applications de cluster Redis

Un cluster est de se concentrer plus d'instances de redis ensemble pour atteindre les mêmes besoins d'affaires ou d'atteindre une haute disponibilité et l'équilibrage de charge

Ce qui dans les solutions de clustering de fin ont-il? ?

1, haproxy + keepalived + REDIS grappes

1) par fichier de configuration Redis, la réplication maître-esclave, de lecture et d'écriture séparés

2) configuration haproxy, équilibrage de charge, en plus de T sera rapidement lorsque le défaut du cluster de

3) pour obtenir une haute disponibilité en utilisant la charge keepalived

2, Redis outils officiels de gestion de cluster Sentinel

Redis cluster haute environnement de production de la disponibilité, les solutions de processus réels

1) sentinelles responsable de la surveillance de la fonction maître-esclave cluster, des alertes, et un basculement automatique

2) Redis groupes responsables des services externes

A propos Redis configuration du cluster groupe sentinelle, voir

3, Redis Cluster

Redis Redis Cluster est une solution distribuée, dans la version 3.0 Redis du lancement officiel, une solution efficace aux besoins des aspects distribués de Redis. Face à une mémoire autonome, la concurrence, les goulots d'étranglement de la circulation, l'architecture de cluster afin d'atteindre l'équilibrage de charge peut être utilisé.

1) recommandation officielle, sans doute.

2) au centre, plus les noeuds de la grappe 1000 peut être augmenté, les augmentations de performance linéairement avec les noeuds d'extension.

Idéalement 3) la gestion, le suivi peut être ajouté ou supprimé propre noeud, le mobile comme fente.

4) simple, accessible.

billets Film Festival que vous achetez ne sont pas la salle des effets? Distinguer vraie compétence dans ce | 2017 Raiders Festival du Film de Shanghai
Précédent
Changement de prix / configuration mise à niveau 19 industrie de l'exploration Chevrolet de ceux qui sont énumérés à vendre 174900
Prochain
Replay limite journalière
Apprenez l'inventaire des compétences nécessaires des dix premiers héros LOL natal d'une qualité directement sur votre exploitation
7 airbags que la pression des pneus de série, a vendu 490000 chuté à 230.000, moins que les ventes nettes lamentables limite 1/5
les voitures japonaises en Juillet et chaud en Chine, Honda et a même pris le titre
voiture de dragon de 18 mètres a pris feu, comment faire? 71 exercices de combat d'évacuation d'urgence routière tenue
Voir aussi ne vois pas comment fatigué de lui, il était seulement une voiture
LOL toute nouvelle série de la peau de JX montrant les effets prêts à couper encore les mains!
72 m empattement, est légèrement plus grand, ou plus de 50000 Hongguang acheter ce 7 SUV que S3?
MySQL problème dans les scénarios et solutions d'accès concurrentiel
Mazda à lire deux choses: ce qui se cache derrière le « têtu » est
Zhuanggu comportement Éclaircir unique se produit dans une note de programme dans le bas pour éviter
Vu le flux de l'espace d'art flash de deuil il? les enfants et les adultes ours jouent ici haut