Использование redis и node.js: почему redis.get возвращает false? - PullRequest
7 голосов
/ 16 июля 2011

Я запускаю простое веб-приложение, поддерживаемое node.js, и пытаюсь использовать redis для хранения некоторых пар ключ-значение.Все, что я делаю, это запускаю "node index.js" в командной строке, и вот первые несколько строк моего index.js:

var app = require('express').createServer();
var io = require('socket.io').listen(app);

var redis = require('redis');
var redis_client = redis.createClient();
redis_client.set("hello", "world");
console.log(redis_client.get("hello"));

Однако все, что я получаю за redis_client.get("hello") вместо "world" это false.Почему он не возвращает "world"?

(и я запускаю сервер redis)

Что странно, так это то, что пример кода, размещенный здесь , работает нормально,и производит ожидаемый результат.Есть что-то, что я делаю неправильно для простых set и get?

Ответы [ 2 ]

11 голосов
/ 16 июля 2011

Могу поспорить, что get является асинхронным, поэтому вы получите значение по обратному вызову.

Редактировать:
Это действительно асинхронно: file.js

3 голосов
/ 13 февраля 2017

Вот, пожалуйста! Для ES6

redis_client.get("hello", (err, data)=>{
  if(err){
    throw err;
  }
  console.log(data);
});

Для ES5

redis_client.get("hello", function(err, data){
  if(err){
    throw err;
  }
  console.log(data);
});
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...