Recherche de site Web

Comment installer et configurer Memcached sur Ubuntu ?


Introduction

Memcached est un système de mise en cache de mémoire distribuée gratuit et open source, hautes performances. Il est couramment utilisé pour accélérer les applications Web dynamiques en mettant en cache les données et les objets en mémoire, ce qui réduit le nombre de fois où une application doit interroger une base de données ou un autre magasin de données. Memcached est également couramment utilisé dans une architecture de microservices, où il est utilisé comme cache partagé entre différents services.

Dans cet article, nous verrons comment installer et configurer Memcached sur Ubuntu.

Étape 1 : Installer Memcached

La première étape consiste à installer le package Memcached sur votre système Ubuntu. Vous pouvez l'installer en utilisant la commande suivante -

sudo apt-get update
sudo apt-get install memcached

Une fois l'installation terminée, vous pouvez démarrer Memcached à l'aide de la commande suivante -

sudo systemctl start memcached

Étape 2 : configurer Memcached

Par défaut, Memcached écoute sur l'interface localhost (127.0.0.1) et utilise le port 11211. Cela signifie que Memcached ne sera accessible qu'à partir de la même machine sur laquelle il s'exécute. Si vous souhaitez accéder à Memcached depuis d'autres machines, vous devez modifier le fichier de configuration.

Pour ce faire, ouvrez le fichier de configuration Memcached à l'aide de votre éditeur de texte préféré. Le fichier de configuration se trouve dans /etc/memcached.conf.

sudo nano /etc/memcached.conf

Dans ce fichier, vous pouvez modifier les paramètres suivants -

  • -l - Ceci définit l'adresse IP sur laquelle Memcached écoute. Par défaut, il est défini sur 127.0.0.1, ce qui signifie que Memcached n'écoute que sur l'interface localhost. Si vous souhaitez écouter sur toutes les interfaces réseau disponibles, vous pouvez définir cette valeur sur 0.0.0.0.

  • -p - Ceci définit le port sur lequel Memcached écoute. Par défaut, il est défini sur 11211.

  • -m - Ceci définit la quantité de mémoire que Memcached est autorisé à utiliser. Par défaut, il est défini sur 64 mégaoctets. Vous pouvez augmenter cette valeur en fonction de vos besoins.

Après avoir apporté vos modifications au fichier de configuration, enregistrez-le et quittez l'éditeur de texte.

Étape 3 : tester Memcached

Pour tester si Memcached fonctionne correctement, vous pouvez utiliser la commande telnet pour vous connecter à Memcached et exécuter quelques commandes de base.

telnet localhost 11211

Cela ouvrira une session telnet sur Memcached. Vous pouvez ensuite entrer les commandes suivantes -

set mykey 0 60 5
hello

Cela stockera la chaîne "hello" sous la clé "mykey" dans Memcached pendant 60 secondes. Vous pouvez ensuite récupérer la valeur de la clé en exécutant la commande suivante -

get mykey

Cela devrait renvoyer la valeur "bonjour". Si c'est le cas, alors Memcached fonctionne correctement.

Étape 4 : Configurez Memcached pour votre application

Une fois que vous avez confirmé que Memcached fonctionne correctement, vous pouvez configurer votre application pour utiliser Memcached comme mécanisme de mise en cache. les étapes exactes pour ce faire dépendront du langage de programmation et du framework que vous utilisez.

Voici un exemple d'utilisation de Memcached avec PHP -

$memcached = new Memcached();
$memcached->addServer('localhost', 11211);

$key = 'mykey';
$value = $memcached->get($key);

if (!$value) {
   $value = 'hello';
   $memcached->set($key, $value, 60);
}

echo $value;

Dans cet exemple, nous créons une nouvelle instance de la classe Memcached et y ajoutons le serveur localhost. Nous essayons ensuite de récupérer la valeur de la clé "ma clé" depuis Memcached. Si la valeur n'existe pas, nous la définissons sur "hello" et la stockons dans Memcached avec un TTL de 60 secondes. Enfin, nous imprimons la valeur.

Voici quelques conseils supplémentaires et bonnes pratiques pour utiliser Memcached -

  • Utilisez une convention de dénomination de clé cohérente - Lorsque vous utilisez Memcached pour mettre en cache des données, il est important d'utiliser une convention de dénomination cohérente pour vos clés. Cela facilitera la récupération des données ultérieurement. Une convention courante consiste à préfixer la clé avec le nom de l'application ou du service.

  • Surveiller les performances de Memcached - Memcached dispose de mesures de performances intégrées qui peuvent être surveillées à l'aide d'outils tels que memcached-tool ou telnet. La surveillance de ces métriques peut vous aider à identifier les goulots d'étranglement potentiels en matière de performances et à ajuster votre configuration Memcached pour des performances optimales.

  • Utiliser une bibliothèque client - Bien qu'il soit possible d'interagir avec Memcached à l'aide de commandes telnet brutes, il est beaucoup plus facile et plus efficace d'utiliser une bibliothèque client pour votre langage ou framework de programmation. La plupart des bibliothèques clientes fournissent une interface orientée objet qui simplifie le processus de stockage et de récupération des données de Memcached.

  • Utiliser Memcached avec un magasin de données de sauvegarde - Memcached est un cache en mémoire, ce qui signifie que les données sont perdues lorsque le serveur est redémarré ou tombe en panne. Pour éviter la perte de données, c'est une bonne idée d'utiliser Memcached conjointement avec un magasin de données de sauvegarde, tel qu'une base de données ou un système de fichiers.

  • Utiliser Memcached avec un équilibreur de charge - Pour garantir que Memcached est hautement disponible et évolutif, c'est une bonne idée de l'utiliser avec un équilibreur de charge. Cela répartira la charge sur plusieurs serveurs Memcached, empêchant un serveur de devenir un goulot d'étranglement.

  • Utiliser Memcached avec un algorithme de hachage cohérent - Lorsque vous utilisez Memcached avec plusieurs serveurs, il est important d'utiliser un algorithme de hachage cohérent pour distribuer les données entre les serveurs. Un hachage cohérent garantit que chaque clé est toujours mappée sur le même serveur, même si le nombre de serveurs du pool change.

  • Définir les valeurs TTL appropriées - Lors du stockage de données dans Memcached, il est important de définir des valeurs TTL (durée de vie) appropriées pour chaque clé. Les valeurs TTL déterminent la durée pendant laquelle une clé doit être stockée dans Memcached avant qu'elle ne soit considérée comme obsolète et supprimée. La définition de valeurs TTL appropriées peut aider à empêcher que des données obsolètes soient transmises aux utilisateurs.

  • Utiliser Memcached pour les charges de travail lourdes en lecture - Memcached est plus efficace lorsqu'il est utilisé pour des charges de travail lourdes en lecture, telles que les applications Web qui répondent à un grand nombre de requêtes de lecture. Pour les charges de travail lourdes en écriture, il peut être plus efficace d'utiliser une base de données ou un autre magasin de données.

  • Mettre à l'échelle horizontalement Memcached - Memcached est conçu pour être évolutif horizontalement, ce qui signifie que vous pouvez ajouter plus de serveurs à votre cluster Memcached à mesure que votre application se développe. La mise à l'échelle horizontale vous permet d'augmenter la capacité de votre cluster Memcached sans avoir à mettre à niveau des serveurs individuels.

  • Utiliser Memcached conjointement avec d'autres mécanismes de mise en cache - Bien que Memcached soit un mécanisme de mise en cache puissant, il peut ne pas être approprié pour tous les cas d'utilisation. Par exemple, si vous devez mettre en cache des structures de données complexes ou maintenir la cohérence entre plusieurs nœuds, vous souhaiterez peut-être utiliser un mécanisme de mise en cache différent, tel que Redis ou un cache de base de données. En utilisant Memcached conjointement avec d'autres mécanismes de mise en cache, vous pouvez obtenir le meilleur des deux mondes : une mise en cache hautes performances pour les types de données simples et une mise en cache plus avancée pour les types de données complexes.

En suivant ces conseils supplémentaires et bonnes pratiques, vous pouvez optimiser davantage votre utilisation de Memcached et vous assurer qu'il répond aux besoins de performances et d'évolutivité de votre application.

Conclusion

Dans cet article, nous avons expliqué comment installer et configurer Memcached sur Ubuntu. Memcached est un outil puissant qui peut être utilisé pour accélérer les applications Web dynamiques en mettant en cache les données et les objets en mémoire. Il est facile à installer et à configurer et peut améliorer considérablement les performances de votre application. Avec un peu d'effort, vous pouvez commencer à utiliser Memcached dans votre application dès aujourd'hui.

Articles connexes: