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

标签 javascript node.js redis

我正在使用 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/

相关文章:

javascript - 从在 Javascript 中作为字符串接收的数组名称访问数组元素?

amazon-web-services - aws elasticache redis 设置和获取

node.js - MongoJS 限制和跳过

html - 从私有(private)存储库切换到公共(public)存储库但 github 页面不发布站点

java - 无法从池中获取资源 JedisConnectionException

python - 忽略函数的返回以节省 Python 中的内存

javascript - 如何处理powershell中的错误 'console is undefined'?

javascript - Html5 在表格单元格之间和内部拖动项目

javascript - 错误 : [ngModel:datefmt] Expected `2015-05-29T19:06:16.693209Z` to be a date - Angular

node.js - 如何处理 Mongoose 中的 ENUM 值?