gpt4 book ai didi

javascript - 使用nodejs时多次调用redis客户端的连接事件

转载 作者:可可西里 更新时间:2023-11-01 11:33:56 26 4
gpt4 key购买 nike

我正在使用 node + redis,当我运行我的应用程序时,我遇到了一个奇怪的问题,redis 客户端的连接事件被自动调用多次,如 redis.js 文件中所写。

下面是我的代码 Server.js:

        var express=require('express');
var app=express();
var port=8000;
var path = require('path');
var logger=require('morgan');
var bodyParser = require('body-parser');
var router = express.Router();

app.use(logger('dev'));

app.use(bodyParser.urlencoded({ extended: true }));
app.use(bodyParser.json());

app.get('/',function(req,res){
res.send({message:"Welcome to nodejs APIS"});
});

var redisObj=require('./redis.js');
app.use('/redischeck',redisObj);

app.listen(port,function(err,res){ if(err){ console.log("Server error");}else{console.log("Server running on port 8000");}});

redis.js

var express = require('express');
var router = express.Router();
var redis = require("redis");
var client = redis.createClient();

client.on('connect', function() {
console.log('connected'); // Prints multiple time in console
});

router.get('/', function(req, res) {

client.on("error", function (err) { console.log("Error " + err);});

client.set("foo", "bar", function (err, reply) {

client.quit();

res.json({status:'Success'});
});
});

module.exports=router;

我还使用'netstat -na | 交叉检查了这个问题grep 6379'。我观察到创建了许多连接,然后进入 TIME_WAIT 状态,这很奇怪,因为我只是在我的本地主机上运行我的应用程序,而没有任何人从另一端连接它。

我是不是在代码中做错了什么。

最佳答案

这是我这边的一个错误,我更改了位于/etc/redis/redis.conf 的 redis.conf 文件中的超时值,以便 redis 连接不会进入 TIME_WAIT 状态 60 秒。

关于javascript - 使用nodejs时多次调用redis客户端的连接事件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37828347/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com