Memcached

Magasin clé-valeur en mémoire distribué et facile à utiliser, qui peut faire office de cache hautes performances ou de magasin de sessions.

Qu'est-ce que Memcached ?

Memcached est un magasin de données en mémoire hautes performances et facile à utiliser. Il s’agit d’une solution mature, évolutive et open source qui offre des temps de réponse inférieurs à une milliseconde, et que vous pouvez utiliser comme cache ou magasin de sessions. Memcached est une solution de choix pour alimenter des applications en temps réel sur le Web, dans les applications mobiles, les jeux vidéo, les technologies publicitaires et l'e-commerce.

Qu'est-ce que Memcached ?

Comment fonctionne Memcached ?

Contrairement aux bases de données qui stockent des données sur un disque ou un SSD, Memcached conserve ses données en mémoire. Étant donné qu'ils n'ont pas besoin d'accéder à des disques, les magasins clé-valeur en mémoire tels que Memcached évitent les délais de recherche et peuvent accéder aux données en quelques microsecondes. Memcached est également une solution distribuée, ce qui signifie que vous pouvez facilement la faire évoluer en ajoutant de nouveaux nœuds. C'est aussi une solution multithread, vous pouvez donc facilement mettre à l'échelle la capacité de calcul. Grâce à sa vitesse et à son évolutivité, à sa conception simple, à sa gestion efficace de la mémoire et à sa prise en charge des API pour la plupart des langages populaires, Memcached est une solution de choix pour la mise en cache hautes performances et à grande échelle.

Avantages de Memcached

Memcached conserve toutes ses données dans la mémoire principale du serveur. Contrairement aux bases de données telles que PostgreSQL, Cassandra et MongoDB qui stockent la plupart de leurs données sur un disque ou un SSD, les magasins de données en mémoire n'ont pas à faire des aller-retour répétés sur le disque. Cela leur permet de prendre en charge beaucoup plus d'opérations et d'offrir des temps de réponse plus rapides. Le résultat est visible : une performance exceptionnellement rapide, avec des opérations d'écriture et de lecture qui prennent en moyenne moins d'une milliseconde et la prise en charge de millions d'opérations par seconde.

Memcached est conçu pour être simple et générique, ce qui le rend à la fois puissant et facile à utiliser lors du développement d'applications. De nombreux clients open source sont disponibles pour les développeurs Memcached. Les langages pris en charge comprennent Java, Python, PHP, C, C++, C#, JavaScript, Node.js, Ruby, Go, etc.

L'architecture distribuée et multithread de Memcached facilite la mise à l'échelle. Vous pouvez scinder vos données en plusieurs nœuds, ce qui vous permet d'augmenter la capacité en ajoutant de nouveaux nœuds à votre cluster. De plus, comme Memcached est une solution multithread, elle peut utiliser plusieurs cœurs sur un nœud donné, vous permettant ainsi d'augmenter facilement la capacité de calcul. Avec Memcached, vous pouvez créer des solutions de mise en cache distribuées hautement scalables conçues pour fournir des performances rapides et régulières.

Memcached est un projet open source mature soutenu par une communauté dynamique. Les applications telles que WordPress et Django prennent en charge l'utilisation de Memcached pour améliorer les performances. Il n'y a aucun verrou propriétaire ou technologique, car Memcached s'appuie sur des normes ouvertes, prend en charge des formats de données ouverts et propose un ensemble complet de clients.

Cas d'utilisation

Mise en cache

Memcached est une solution de choix pour mettre en œuvre un cache en mémoire hautes performances afin de réduire la latence d’accès, d’augmenter le débit et d’alléger la charge de vos systèmes de backend. Memcached peut traiter des éléments mis en cache en moins d'une milliseconde et vous permet d'évoluer facilement et à moindre coût pour répondre à des charges plus élevées. Memcached est plébiscité pour la mise en cache des résultats des requêtes de base de données, des sessions, des pages Web, des API et d'objets tels que des images, des fichiers et des métadonnées.

Magasin de sessions

Memcached est un magasin de données en mémoire plébiscité par les développeurs d'applications pour stocker et gérer les données de session pour les applications Internet, dans les cas où la persistance n'est pas essentielle. Memcached est conçu pour offrir une latence inférieure à une milliseconde ainsi que l'évolutivité nécessaire pour gérer des données de session telles que des profils utilisateur, des informations d'identification et un statut de session.

Prise en charge des langues

Memcached prend en charge la plupart des langages et des protocoles de programmation de premier plan, notamment :

Python

Java

PHP

C/C#/C++

Perl

Go

Ruby

JavaScript

Node.js

Protocole ASCII

Protocole binaire

Protocoles TCP et UDP

Redis vs. Memcached

Redis et Memcached sont les deux magasins de données à valeur de clé en mémoire les plus populaires. Memcached est conçu pour la simplicité tandis que Redis offre un riche ensemble de fonctionnalités qui le rendent efficace pour une large gamme de cas d'utilisation. Comprendre les différences entre les deux moteurs pour décider quelle solution répond le mieux à vos besoins. En savoir plus sur Redis ou Memcached

Memcached entièrement géré sur AWS

Amazon propose un service Memcached entièrement géré, Amazon ElastiCache for Memcached :

  • Configurez, exploitez et mettez facilement à l'échelle les déploiements Memcached dans le cloud. Les nœuds défaillants sont automatiquement détectés et remplacés.
  • Profitez d'une capacité matérielle économique et redimensionnable.
  • Utilisez un client de cluster Elasticache Memcached avec la découverte automatique pour accélérer le développement d’applications en simplifiant la gestion des nœuds.