node.js redis 的 hello world 没有任何输出
No any output from hello world of node.js redis
我正在学习 Maxwell Dayvson Da Silva 和 Hugo Lopes Tavares 合着的 Redis Essentials 一书。它告诉redis in node.js。本书中的 node.js 非常古老,即 v0.12.4。我的 Ubuntu 20.04 上的 node.js 是 v10.19.0。我现在在 python 工作。但我对浏览器中的 JS 很熟悉,希望自己能过关,所以我决定尝试 node.js。你能告诉我为什么当我可以在 redis-cli 中打乒乓时下面的代码没有任何输出吗?如下图:
$ redis-cli
127.0.0.1:6379> ping
PONG
127.0.0.1:6379> SET key001 value001
OK
127.0.0.1:6379> GET key001
"value001"
127.0.0.1:6379> QUIT
$ node hello.js
$
(我已经修复了第2行和第3行之间的问题,即显式连接。)
(我感觉根本原因可能是我的node.js版本比书上的版本高太多了,我猜是进程在执行打印之前就退出了。但是我不熟悉当前的node.js。请帮帮我!)
//hello.js
var redis = require("redis"); // 1
var client = redis.createClient(); // 2
client.connect(); // Important: explict conn is needed now!
client.set("my_key", "Hello World using Node.js and Redis"); // 3
client.get("my_key", redis.print); // 4
client.quit(); // 5
这是因为 nodejs
中 redis client
的实现使用了 Asyc/Await
方法。
因此,您可能需要执行如下操作。
(async () => {
const client = createClient();
client.on('error', (err) => console.log('Redis Client Error', err));
await client.connect();
await client.set('key', 'value');
const value = await client.get('key');
await client.quit();
})();
我正在学习 Maxwell Dayvson Da Silva 和 Hugo Lopes Tavares 合着的 Redis Essentials 一书。它告诉redis in node.js。本书中的 node.js 非常古老,即 v0.12.4。我的 Ubuntu 20.04 上的 node.js 是 v10.19.0。我现在在 python 工作。但我对浏览器中的 JS 很熟悉,希望自己能过关,所以我决定尝试 node.js。你能告诉我为什么当我可以在 redis-cli 中打乒乓时下面的代码没有任何输出吗?如下图:
$ redis-cli
127.0.0.1:6379> ping
PONG
127.0.0.1:6379> SET key001 value001
OK
127.0.0.1:6379> GET key001
"value001"
127.0.0.1:6379> QUIT
$ node hello.js
$
(我已经修复了第2行和第3行之间的问题,即显式连接。)
(我感觉根本原因可能是我的node.js版本比书上的版本高太多了,我猜是进程在执行打印之前就退出了。但是我不熟悉当前的node.js。请帮帮我!)
//hello.js
var redis = require("redis"); // 1
var client = redis.createClient(); // 2
client.connect(); // Important: explict conn is needed now!
client.set("my_key", "Hello World using Node.js and Redis"); // 3
client.get("my_key", redis.print); // 4
client.quit(); // 5
这是因为 nodejs
中 redis client
的实现使用了 Asyc/Await
方法。
因此,您可能需要执行如下操作。
(async () => {
const client = createClient();
client.on('error', (err) => console.log('Redis Client Error', err));
await client.connect();
await client.set('key', 'value');
const value = await client.get('key');
await client.quit();
})();