Maison  >  Article  >  base de données  >  Quelles sont les différences entre Redis et MongoDB ?

Quelles sont les différences entre Redis et MongoDB ?

尚
original
2019-06-24 14:15:504456parcourir

Quelles sont les différences entre Redis et MongoDB ?

MongoDB est plus similaire à MySQL, prenant en charge les index de champs et les opérations de curseur. Son avantage est qu'il dispose d'une fonction de requête puissante et qu'il est efficace pour interroger des données JSON. mais il ne prend pas en charge les transactions.

L'efficacité de MySQL diminue considérablement lorsque la quantité de données est importante, et MongoDB est plus souvent utilisé comme alternative aux bases de données relationnelles.

Mongodb consomme plus de mémoire, car lorsque mongo constate qu'il n'y a pas assez de mémoire, il demande de la mémoire à un niveau exponentiel de 2. Par conséquent, il est généralement recommandé de mettre mongodb séparément.

En fait, on peut dire que redis ressemble plus à un mécanisme de mise en cache et à un cookie. Il peut également définir le délai d'expiration des données. Bien sûr, elles peuvent également être stockées de manière permanente (mais cela semble être légèrement). inférieur?). Mongodb est un stockage basé sur des documents.

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. choisissez l'algorithme LRU spécifié Supprimer les données.

MongoDB est identique à MySQL, sauf que le fichier d'index est placé en mémoire. Implémenté 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.

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.

Performances :

redis est plus adapté aux performances et aux opérations avec de plus petites quantités de données

mongodb a de meilleures performances sous l'accès à des données massives

Fiabilité :

Les deux prennent en charge la persistance.

Cluster :

La technologie de cluster MongoDB est relativement mature et Redis prend en charge les clusters à partir de la version 3.0.

Scénarios non applicables :

Ø Opérations nécessitant l'utilisation de SQL complexes

Ø Systèmes transactionnels

Applicable Scénarios :

Redis Meilleur scénario d'application : convient aux applications où les données changent rapidement et où la taille de la base de données peut être respectée (adaptée à la capacité de mémoire).

MongoDB : Meilleurs scénarios d'application : convient aux situations où la prise en charge des requêtes dynamiques est requise ; les index doivent être utilisés à la place des fonctions de mappage/réduction ; les exigences de performances pour les grandes bases de données sont requises mais sont pleines car le les données changent trop fréquemment dans l'application mémoire.

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!

Déclaration:
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