无法将Express应用程序连接到Redis容器

sycxhyv7  于 2022-11-21  发布在  Redis
关注(0)|答案(1)|浏览(178)

我在Docker容器上本地运行Redis。我试图连接我的Express应用程序和Redis容器,但无法连接。
下面是我的代码:

重新编译.js

const redis = require('redis');

const redisCon = () => {

const client = redis.createClient('6379','127.0.0.1');

client.on('connect', function () {
    console.log('Connected!');
});

}

module.exports = redisCon;

服务器.js

const express = require('express');
const config = require("config");
const redisCon = require('./redi');

const app = express();

const port = process.env.PORT || 2222;

redisCon;

app.get('/', (req, res) => {
  res.send(`Current ip is ${ip}`);
});

app.listen(port, () => console.log(`Server is running at ${port}`));

在上面的代码中我做错了什么?

juzqafwq

juzqafwq1#

你给.createClient的参数是不正确的,而且你并没有连接到Redis,只是在创建客户端。
下面的例子介绍了如何创建客户端,以及如何将客户端连接到Redis:

import { createClient } from 'redis';

/* Create a Redis client that *will* connect
   to localhost on port 6379 in one of these ways */
const client = createClient();
const client = createClient({ url: 'redis://localhost:6379' });
const client = createClient({ socket: { host: '127.0.0.1', port: 6379 } });

/* log any errors */
client.on('error', (err) => console.log('Redis Client Error', err));

/* connect to Redis and wait for it to be established */
await client.connect();

在创建客户端时,有很多参数可以使用。您可以在here中了解这些参数。

相关问题