Quelle est la différence entre MongoDB et Redis
Jun 06, 2019 pm 02:48 PMMongoDB est plus similaire à MySQL, prenant en charge les index de champs et les opérations de curseur. Son avantage est qu'il dispose de fonctions de requête puissantes, qu'il est efficace pour interroger des données JSON et qu'il peut stocker d'énormes quantités de données. , mais il ne prend pas en charge les transactions.
Redis est un système de stockage de structures de données en mémoire open source (sous licence BSD) qui prend en charge plusieurs types de structures de données et peut être utilisé comme courtier de base de données, de cache et de file d'attente de messages.
Quelle est la différence entre MongoDB et Redis
1. Mécanisme de gestion de la mémoire
Toutes les données Redis sont stockées en mémoire et écrites régulièrement sur le disque. Lorsque la mémoire n'est pas suffisante, vous pouvez choisir l'algorithme LRU spécifié pour supprimer les données.
Les données MongoDB sont stockées dans la mémoire, qui est implémentée par le système Linux mmap. Lorsque la mémoire n'est pas suffisante, seules les données du point d'accès sont mises en mémoire et les autres données sont stockées sur le disque.
2. Structures de données prises en charge
Redis prend en charge un large éventail de structures de données, notamment le hachage, l'ensemble, la liste, etc.
MongoDB a une structure de données relativement simple, mais prend en charge des expressions et des index de données riches. Il ressemble beaucoup à une base de données relationnelle et prend en charge un large éventail de langages de requête.
3. Volume de données et performances :
Lorsque la mémoire physique est suffisante, redis>mongodb>mysql
Lorsque la mémoire physique n'est pas suffisante, redis et mongodb le feront Utilisez la mémoire virtuelle.
En fait, si redis veut démarrer la mémoire virtuelle, il est évident qu'il faut soit ajouter une clé USB, soit changer la base de données.
Cependant, mongodb est différent. Tant que l'entreprise peut garantir le rapport lecture-écriture des données chaudes et froides, les données chaudes auront moins d'échange mmap dans la mémoire physique.
mongodb peut toujours garantir les performances.
4. Performances
mongodb s'appuie sur la mémoire et a un TPS élevé ; Redis s'appuie sur la mémoire et a un TPS très élevé. Redis est meilleur que MongoDB en termes de performances.
5. Fiabilité
Mongodb adopte la méthode binlog (MySQL utilise également cette méthode) pour prendre en charge la persistance et augmenter la fiabilité à partir de la version 1.8
Redis S'appuyant sur des instantanés ; pour la persistance ; AOF améliore la fiabilité tout en améliorant la fiabilité, il affecte les performances d'accès ;
MongoDB est meilleur que Redis en termes de fiabilité.
6. Analyse des données
Mongodb a une fonction d'analyse des données intégrée (mapreduce) ;
7. Prise en charge des transactions
La prise en charge des transactions Redis est relativement faible et ne peut garantir que chaque opération de la transaction est exécutée en continu ;
8. Cluster
La technologie de cluster MongoDB est relativement mature et Redis prend en charge les clusters à partir de la version 3.0.
Tutoriels vidéo recommandés : "Tutoriel MongoDB", "Tutoriel Redis"
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!

Article chaud

Outils chauds Tags

Article chaud

Tags d'article chaud

Bloc-notes++7.3.1
Éditeur de code facile à utiliser et gratuit

SublimeText3 version chinoise
Version chinoise, très simple à utiliser

Envoyer Studio 13.0.1
Puissant environnement de développement intégré PHP

Dreamweaver CS6
Outils de développement Web visuel

SublimeText3 version Mac
Logiciel d'édition de code au niveau de Dieu (SublimeText3)

Sujets chauds

Solution à l'erreur 0x80242008 lors de l'installation de Windows 11 10.0.22000.100

Analyser les goulots d'étranglement des fonctions PHP et améliorer l'efficacité de l'exécution

Stratégie de mise en cache et optimisation de l'API Golang

Mécanisme de mise en cache et pratique d'application dans le développement PHP

Lequel a les meilleures performances, erlang ou golang ?

Comment utiliser le cache Redis dans la pagination des tableaux PHP ?

Distinction Nodejs front-end et back-end
