En langage profane pour parler Redis fonctionnalités avancées

structures de données Redis

Redis types de données couramment utilisés principalement dans les cinq catégories suivantes:

chaîne

hachis

liste

ensemble

Classé jeu

Usage interne Redis un objet redisObject pour représenter l'ensemble de la clé et la valeur.

Chaîne Redis dans la mémoire interne est une chaîne par défaut est référencée redisObject, face INCR, DERC autres opérations se transformera en calcul numérique codant pour redisObject de champ le cas d'un int.

La liste est mise en uvre comme une liste doublement chaînée qui peut prendre en charge la recherche inversée et traversal, le fonctionnement plus pratique, mais il apporte une surcharge de mémoire supplémentaire, beaucoup de mise en uvre interne Redis, y compris la structure de données file d'attente tampon de transmission, etc. sont également utilisés .

la correspondance interne de la valeur de hachage est en fait une table de hachage, il y aura deux réalisation pratique différente de cela, les membres du Hash relativement peu de temps Redis pour sauver la mémoire adoptera une approche similaire à la matrice unidimensionnelle de stockage compact sans utiliser la structure HashMap réelle, ce qui correspond à la valeur redisObject de l'encodage est ZipMap, lorsque l'augmentation du nombre de membres se transformera automatiquement en une véritable HashMap, ce codage de temps est ht.

stockage Redis

Redis propose une gamme de différentes options de persistance:

  • RDB persistance à des intervalles de temps spécifié un aperçu du point de consigne de données dans le temps.
  • AOF dossiers persistants chaque opération d'écriture reçue par le serveur, ces opérations seront effectuées lorsque le serveur démarre à nouveau pour recréer l'ensemble de données d'origine. Formater en utilisant le protocole lui-même REDIS en outre enregistré dans le même ordre.

avantages RDB:

  • RDB est un moment unique de fichier très compacte représentation des données Redis.
  • fichier RDB est idéal pour la sauvegarde.

inconvénients RDB:

  • Les instantanés ne sont pas très durables. Si vous utilisez l'ordinateur cesse de Redis en cours d'exécution, défaillance de la ligne d'alimentation, ou accidentellement terminé votre instance, Redis écrit les dernières données seront perdues.
  • Pour utiliser la rétention des enfants sur RDB disque, RDB nécessite souvent une fourchette. Si l'ensemble de données est grande, la fourche sera beaucoup de temps, et peut entraîner dans quelques client de service d'arrêt de millisecondes, ou si l'ensemble de données est très grande et la mauvaise performance du processeur, même pour une seconde.

Redis besoin de décharge sur le disque, ce qui suit se produit des ensembles de données:

  • Redis fourche. Nous avons maintenant un enfant et un processus parent.
  • L'enfant a commencé à écrire des ensembles de données temporaires fichiers RDB.
  • Lorsque le processus enfant pour terminer le nouveau fichier RDB, il remplacera l'ancien.

avantages: AOF

Est un journal AOF journal supplémentaire que, si une panne de courant se produit, il ne sera pas un problème.

inconvénients: AOF

  • fichier généralement plus grande que AOF le RDB de fichier équivalent même ensemble de données.
  • En fonction de la stratégie exacte fsync, AOF peut être plus lent que RDB.

Le nombre de Redis sur les données de synchronisation de disque. Il y a trois options:

  • Chaque fois qu'une nouvelle commande est ajoutée à l'AOF, fsync. Très, très lent, très sûr.
  • fsync par seconde. Assez rapide (aussi vite que possible et instantanés au point 2.4), et si une catastrophe se produit, vous risquez de perdre une seconde de données.
  • Jamais fsync, il suffit de brancher vos données sur le système d'exploitation peut être. Plus rapide, des méthodes dangereuses.

Copiez le journal réécrite en utilisant la même technique d'écriture a été pour l'instantané. Voici comment ça marche:

  • fourchette Redis, alors maintenant nous avons l'enfant et un parent.
  • Le processus de l'enfant de commencer à écrire un nouveau AOF dans un fichier temporaire
  • Le processus parent pour tous les nouveaux changements accumulent dans une mémoire tampon
  • Lorsque le processus enfant complet réécrit le fichier, le processus parent d'acquérir un signal, et le contenu du fichier à la fin de la mémoire tampon de la mémoire supplémentaire dans le processus enfant génère.
  • Redis anciens fichiers renommer automatiquement le nouveau fichier, et commencer à fixer les nouvelles données dans le nouveau fichier.

Affaires redis

Mécanisme de transaction Redis fourni par transaction de base de données classique est quelque peu différente, la transaction de base de données traditionnel doit conserver les propriétés suivantes: atomicité (atomicité), la cohérence (consistance), l'isolement (isolement), persistant (durabilité), dénommé ACID.

Atomicité (atomicité)

Toutes les API se Redis fournit des opérations sont atomiques.

Mais l'erreur Redis dans les opérations du processus de mise en uvre en compromis, qui est d'abandonner le rollback.

Redis explication officielle donnée est ce document:

1, Redis raison de l'échec de l'opération ne peut y avoir des erreurs de syntaxe ou des opérations de base de données type de incorrectes, qui sont dans les niveaux de développement se trouvent en cause ne pénètre pas dans l'environnement de production, et donc ne pas besoin d'être annulées.

2, Redis respecté simple design d'intérieur et de haute performance, la capacité donc pas rollback.

La cohérence (consistance)

Les systèmes de données garantissent toujours les mêmes moyens de cohérence qui après la fin de la transaction.

Redis a abandonné la conception rollback, abandonner, fondamentalement, il assure effectivement la cohérence des données.

Isolation (Isolement)

Isolement assure qu'avant que la transaction soit complétée, la transaction ne peut pas voir les affaires extérieures dans les changements de données.

Redis conception mono-thread, l'isolement est assurée.

Persistante (durabilité)

Seulement pour le calcul de la mémoire et des opérations Redis dans des circonstances normales, la persistance ne peut pas être garantie.

Redis mais fournit également deux données en mode persistance, et RDB AOF, les opérations de persistance et les opérations de commande de RDB ne sont pas synchronisés, nous ne pouvons pas garantir la pérennité des transactions. Les moyens de mode exécutent chaque besoin AOF commande à écrire à un système de fichiers disque a des appels, peut assurer une longue durée, mais permettra de réduire considérablement les performances d'accès Redis.

maître-esclave Redis

Redis configuration maître-esclave peut être adoptée à partir d'un maître ou d'une structure multi cascade:

Le montant total de synchronisation

Redis montant se produit généralement en phase d'initialisation de la réplication esclave, lorsque l'esclave a besoin de toutes les données sur une copie séparée du Maître.

Des mesures spécifiques sont les suivantes:

1) est relié à partir du serveur principal, transmet la commande de synchronisation;

2) le serveur principal reçoit le nom SYNC, toutes les commandes d'écriture commencent commande BGSAVE RDB génère et en utilisant ensuite effectué un fichier de tampon enregistré;

3) BGSAVE serveur principal exécuté, envoyé à tous les fichiers de capture instantanée à partir du serveur, et continuer à envoyer enregistrées au cours de la commande d'écriture est exécutée;

4) Après avoir reçu les fichiers de capture instantanée du serveur pour annuler tous les vieux clichés de chargement de données reçues;

Il a commencé à transmettre des commandes d'écriture en mémoire tampon du serveur après 5) instantané de serveur maître a été envoyé;

6) chargé depuis le serveur pour terminer la requête de commande de démarrage de l'instantané reçu, et exécute une commande de tampon d'écriture à partir du serveur hôte

synchronisation incrémentale

Redis réplication incrémentielle est soit opération d'écriture commence à travailler correctement initialisé après que le serveur primaire esclave synchronisé sur le processus du serveur.

Procédé de réplication incrémentale est principalement le serveur principal pour chaque commande va exécuter une écriture, recevoir et exécuter la commande d'écriture reçue à partir du serveur envoyé par le serveur à la même commande d'écriture.

scène Redis

programme commun NoSQL est divisé en quatre catégories.

  • K-V Stockage: résolution de problèmes bases de données relationnelles ne peuvent pas stocker des structures de données Redis représenté.
  • Base de données de document: problème forte résolution de contraintes de schéma de base de données relationnelles pour MongoDB représenté.
  • base de données colonnaire: résoudre les problèmes d'E / S dans les grands scénarios de données de base de données relationnelles à HBase représentés.
  • moteur de recherche en texte intégral: capacité de recherche en texte intégral pour résoudre le problème des bases de données relationnelles représenté ElasticSearch.

points de conception d'architecture du cache:

la pénétration du cache fait référence à la cache ne joue pas un rôle, bien que le système commercial aux données de requête de cache, mais il n'y a pas de données dans le cache, les besoins du système commercial aux données de requête stockées dans le système à nouveau.

Normalement, il y a deux cas:

  • 1, les données stockées sont pas présents
  • 2, les ressources de données de cache ou de temps pour générer

avalanche est quand cache un manque de cache (expiré), après avoir causé forte baisse des performances du système.

solution tampon à chaud est plusieurs copies de la copie en cache, les demandes de propagation sur plusieurs serveurs de cache pour réduire la pression d'un seul serveur de cache en cache le plomb chaud.

+ Lecture séparée et écriture politique de mise en cache de niveau multiples

charge de dérivation Accueil

Adresse originale: https: //www.imooc.com/article/268487

Auteur: escargot géant java, si la violation, s'il vous plaît supprimer le contact, merci.

seulement de la salive, sera en mesure de tester votre santé, les amis ont dit: trop forcer ces technologies
Précédent
Avec téléphone à dix ce changement? Une vague de souvenirs a tué presque pleuré
Prochain
2019 articles casque Technology Preview: vous devez regarder les six points chauds
Amis fortement recommandé, le parti devrait fonctionner nécessaire pour plusieurs APP
Rouge était une bonne nouvelle année Top 5, les parents sont comme
scanner de poche, documents électroniques partout, à tout moment, les internautes disent bon
Fête du Printemps pour ajouter de nouveaux points? Un bon son maquillage maison plus chaud
A cet âge, vous devriez avoir quelques APP, les utilisateurs dire: trop vrai!
Les données de mesure pour savoir comment parler de mise à niveau beaucoup plus grande mémoire 16G?
Les programmeurs Tucao propre entretien Ali p7 Microsoft a refusé, l'utilisateur: Vous êtes un petit code de niveau élevé de l'agriculture
Millet Smart Cover de toilette, climatisation avéré! Par l'attention des médias italiens
Um: Je lis des romans policiers
Jeux militaires principal stade East Lake Sports Center, phase de construction Climatisation
L'utilisateur a dit: au revoir à Huawei, ces appareils ne veulent plus acheter