我有需要连接到 Redis 数据库的 nodejs 应用程序。但是,当尝试连接到 Redis 时,它总是返回“ false ”。我在可从 cli 访问的同一台机器上运行 Redis 实例,还有另一个 nodejs 应用程序连接到同一个 Redis 实例。
我在 /var/log/redis/redis-server.log 中没有看到任何错误,也没有在控制台中打印出来。
任何想法可能是什么问题?
$ nodejs -v v8.11.1
$redis-server -v Redis 服务器 v=4.0.9 sha=00000000:0 malloc=jemalloc-3.6.0 bits=64 build=1bc80a08306a3efd
const redis = require('redis'),
redisClient = redis.createClient(6379, '127.0.0.1');
const REDIS_USER_DATA_INDEX = 2;
redisClient.select(REDIS_USER_DATA_INDEX);
redisClient.on('connect', function () {
console.log('redis connected');
}).on('error', function (error) {
console.log(error);
});
console.log(`connected ${redisClient.connected}`);
Run Code Online (Sandbox Code Playgroud)
编辑 我在两个 redisClient.on() 回调中都没有收到任何事件
Eli*_*aza 11
redis 的 connect() 函数是一个异步函数。您必须解决该承诺才能使用该连接。
下面的代码应该可以工作:
const redis = require("redis");
let redisPort = 6379; // Replace with your redis port
let redisHost = "127.0.0.1"; // Replace with your redis host
const client = redis.createClient({
socket: {
port: redisPort,
host: redisHost,
}
});
(async () => {
// Connect to redis server
await client.connect();
})();
console.log("Attempting to connect to redis");
client.on('connect', () => {
console.log('Connected!');
});
// Log any error that may occur to the console
client.on("error", (err) => {
console.log(`Error:${err}`);
});
// Close the connection when there is an interrupt sent from keyboard
process.on('SIGINT', () => {
client.quit();
console.log('redis client quit');
});
Run Code Online (Sandbox Code Playgroud)
小智 5
基本上,您正在调用 redisClient.on(),这是一个异步函数,并且您在回调函数之外输出连接状态,由于 redis 仍未连接,该函数肯定返回 false。我建议将您的代码放在回调函数中。试试下面给出的代码:
const redis = require('redis'),
redisClient = redis.createClient(6379, '127.0.0.1');
const REDIS_USER_DATA_INDEX = 2;
redisClient.select(REDIS_USER_DATA_INDEX);
redisClient.on('connect', function () {
console.log('redis connected');
console.log(`connected ${redisClient.connected}`);
}).on('error', function (error) {
console.log(error);
});
Run Code Online (Sandbox Code Playgroud)
如果您有任何问题,请告诉我。谢谢
| 归档时间: |
|
| 查看次数: |
3998 次 |
| 最近记录: |