使用redis和node.js问题:为什么redis.get返回false?

nep*_*une 7 redis node.js

我正在运行一个由node.js支持的简单Web应用程序,我正在尝试使用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"));
Run Code Online (Sandbox Code Playgroud)

然而,我得到redis_client.get("hello")"world"只是而不是false.为什么不回来"world"

(我正在运行redis-server)

奇怪的是,这里发布的示例代码运行正常,并产生预期的输出.对于简单而言set,我有什么不正确的做法get吗?

Tob*_* P. 11

我敢打赌get是异步的,所以你会通过回调获得价值.

编辑:
它真的是异步的:file.js


Dan*_*hid 7

干得好!对于 ES6

redis_client.get("hello", (err, data)=>{
  if(err){
    throw err;
  }
  console.log(data);
});
Run Code Online (Sandbox Code Playgroud)

对于 ES5

redis_client.get("hello", function(err, data){
  if(err){
    throw err;
  }
  console.log(data);
});
Run Code Online (Sandbox Code Playgroud)