2011-04-27 5 views
4

J'ai installé redis en utilisant "npm install redis". Ensuite, je cours l'exemple de code fourni par cette page de projet node_redis. Je l'ai eunode.JS - impossible de faire fonctionner Redis

"error error: Redis connection to 127.0.0.1:6379 failed - EPERM, Operation not permitted" 

Je pense qu'il me manque quelque chose ici, quelqu'un peut-il m'aider à le signaler? Voici le code je

var redis = require("redis"), 
    client = redis.createClient(); 

client.on("error", function (err){ 
    console.log("Error " + err); 
}); 

client.set("string key", "string val", redis.print); 
client.hset("hash key", "hashtest 1", "some value", redis.print); 
client.hset(["hash key", "hashtest 2", "some other value"], redis.print); 
client.hkeys("hash key", function (err, replies) { 
    console.log(replies.length + " replies:"); 
    replies.forEach(function (reply, i) { 
     console.log(" " + i + ": " + reply); 
    }); 
    client.quit(); 
}); 
+0

est '127.0.0.6379 'une faute de frappe dans la question ou est-ce exactement comme il apparaît dans le message d'erreur? Devrait être '127.0.0.1: 6379' pour se connecter à redis on localhost. – samplebias

+1

Juste pour confirmer: vous avez lancé une instance Redis sur localhost sur le port 6379 (le port par défaut) avant d'exécuter votre code, non? Si oui, avez-vous un pare-feu local en cours d'exécution? – nicolaskruchten

+0

Désolé, que voulez-vous dire par "vous avez lancé une instance Redis"? Je cours juste le code et j'ai l'erreur. Et je n'ai pas de pare-feu. –

Répondre

12

node_redis est un package qui vous permet d'accéder à Redis de NodeJS, un peu comme MySQL-Python est un package qui vous permet d'accéder à MySQL de Python. Dans les deux cas, vous devez disposer d'une instance réelle de la base de données (par exemple Redis ou MySQL) en cours d'exécution pour que votre code se connecte.

Vous devez installer Redis (en fonction de votre système d'exploitation, il y aura différentes façons de le faire, mais sur OSX vous pouvez exécuter port install redis ou sur Ubuntu, vous pouvez exécuter apt-get install redis-server ou consultez les instructions ici http://redis.io/download), puis l'exécuter avec le redis-server commande, qui démarre une instance sur le port par défaut (6379).

Il ressemble également il y a une autre machine Windows construit ici: http://code.google.com/p/servicestack/wiki/RedisWindowsDownload

+0

J'essayais de compiler redis mais la compilation a échoué. S'il vous plaît se référer à la capture d'écran pour voir les erreurs http://www.vietnamlist.net/pic/5849813813039661181385560_full.png –

+0

quelle version de ce compilateur utilisez-vous? – nicolaskruchten

+0

Si vous êtes sur Windows, vous pouvez également envisager d'obtenir une version Windows de Redis au lieu de la compiler vous-même si vous rencontrez des problèmes: http://code.google.com/p/servicestack/wiki/RedisWindowsDownload – nicolaskruchten

5

Pour les utilisateurs de Windows,

télécharger le Redis-serveur à partir d'ici. https://github.com/dmajkic/redis/downloads

cela a fonctionné pour moi, mais je suis toujours à la recherche sur un moyen d'héberger une base de données redis.

+0

Excellent, le lien waht m'aide à résoudre mon problème :) – roland

0

Je suis sur mac et a dû ouvrir deux onglets dans mon terminal:

  • Un pour redis-server
  • Autre pour nodemon myServer.js

it helps

Questions connexes