MongoDB 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!