Maison > base de données > Redis > le corps du texte

Pourquoi les performances de Redis sont-elles si élevées ?

步履不停
Libérer: 2019-06-24 13:18:20
original
2862 Les gens l'ont consulté

Pourquoi les performances de Redis sont-elles si élevées ?

(1) Redis est une base de données non relationnelle en mémoire. Les données sont stockées dans la mémoire. La vitesse de lecture de la mémoire est très rapide. , la mémoire n'est pas le goulot d'étranglement. Dans des circonstances normales, les recherches de hachage peuvent atteindre des millions de fois par seconde.

(2) Utilisez un seul thread pour éviter les changements de contexte inutiles et les conditions de concurrence.

(3) L'implémentation interne utilise epoll, en utilisant epoll + un cadre d'événements simple implémenté par lui-même. La lecture, l'écriture, la fermeture et la connexion dans epoll sont toutes converties en événements, puis utilisez la fonction de multiplexage d'epoll pour ne jamais perdre de temps sur io.

Lecture étendue

Redis est une base de données de valeurs-clés de type journal open source écrite en langage ANSI C, prend en charge le réseau et peut être basée sur la mémoire et persistante . Et fournit des API dans plusieurs langues. Depuis le 15 mars 2010, le développement de Redis est hébergé par VMware. Depuis mai 2013, le développement de Redis est sponsorisé par Pivotal.

Redis est un système de stockage clé-valeur. Semblable à Memcached, il prend en charge relativement plus de types de valeurs stockées, notamment string (string), list (liste chaînée), set (set), zset (ensemble trié - ensemble ordonné) et hash (type de hachage). Ces types de données prennent tous en charge les opérations push/pop, ajout/suppression, intersection, union, différence et plus riches, et ces opérations sont toutes atomiques. Sur cette base, Redis prend en charge différentes méthodes de tri. Comme Memcached, les données sont mises en cache en mémoire pour garantir l'efficacité. La différence est que Redis écrira périodiquement les données mises à jour sur le disque ou écrira les opérations de modification dans des fichiers d'enregistrement supplémentaires, et sur cette base, la synchronisation maître-esclave (maître-esclave) est obtenue.

Redis est une base de données clé-valeur hautes performances. L'émergence de Redis a largement compensé les défauts du stockage clé/valeur tel que Memcached, et peut jouer un très bon rôle complémentaire aux bases de données relationnelles dans certaines situations. Il fournit Java, C/C++, C#, PHP, JavaScript, Perl, Object-C, Python, Ruby, Erlang et d'autres clients, ce qui est très pratique à utiliser.

Redis prend en charge la synchronisation maître-esclave. Les données peuvent être synchronisées du serveur maître vers n'importe quel nombre de serveurs esclaves, et le serveur esclave peut être un serveur maître associé à d'autres serveurs esclaves. Cela permet à Redis d'effectuer une réplication d'arborescence à un seul niveau. La sauvegarde peut écrire des données intentionnellement ou non. Étant donné que le mécanisme de publication/abonnement est entièrement implémenté, lorsque la base de données esclave synchronise l'arborescence n'importe où, elle peut s'abonner à un canal et recevoir l'enregistrement complet de publication des messages du serveur maître. La synchronisation est utile pour l'évolutivité et la redondance des données des opérations de lecture.

L'adresse du site officiel de redis est très simple à retenir, c'est redis.io. (J'ai vérifié spécifiquement et j'ai découvert que le suffixe du nom de domaine io ​​appartient au nom de domaine national, qui est le territoire britannique de l'océan Indien, c'est-à-dire le territoire britannique de l'océan Indien).

Actuellement, Vmware finance le développement et la maintenance du projet redis.

Pour plus d'articles techniques liés à Redis, veuillez visiter la colonne Tutoriel Redis pour apprendre !

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Étiquettes associées:
source:php.cn
Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal