web-dev-qa-db-fra.com

Un moyen facile d'accéder à memcached à partir de node.js

Je veux savoir s'il existe un bon pilote ou une bonne implémentation native pour connecter node.js directement à memcached.

28
Ezequiel

Utilisez la recherche sur: https://npmjs.org/

Si vous n'avez pas npm, installez-le.

Sur le cli:

npm recherche memcache

Apporte 5 modules.

Cela semble être le plus populaire: https://github.com/3rd-Eden/node-memcached

32
Josh

Voici mon expérience de l'utilisation de quelques modules de noeud-memcached

  1. rd-Eden/node-memcached . Le projet ne semble pas être stable et comporte des bogues avec le stockage des BLOBS ( voir problème # 46 et problème # 48 pour plus de détails). De plus, j'ai trouvé son code assez difficile à lire (et donc difficile à mettre à jour), donc je ne suggère pas de l'utiliser dans vos projets.

  2. elbart/node-memcache semble bien fonctionner, et je me sens bien dans la façon dont son code source est écrit, mais il ne prend pas en charge le stockage des BLOBs (il y a un fork qui est censé ajouter la capacité, mais je ne l'ai pas testée)

  3. overclocké/mc est celui que j'aime beaucoup. C'est le seul qui est capable de stocker des BLOBs. Il a une belle documentation, son code a l'air bien et il est facile à utiliser.

Actuellement, j'utilise overclocked/mc dans mon projet et tout semble bien fonctionner.

35

L'idée de base.

net = require("net");

var client = net.connect({port: 11211, Host:"localhost"},function() { 
    console.log('connected');

    client.write('stats\r\n');
    //OR other commands + "\r\n"

    client.on('data', function(data) {
        console.log(data.toString());
    });

    client.on('end', function() {
        console.log('data fetched');
    });
});

Vous pouvez également utiliser net.createServer pour créer votre propre serveur de cache mémoire afin de prendre en charge des exigences supplémentaires telles que PERSISTENT YOUR CACHE DATA TO MYSQL.

11
Soyoes