Bar*_*cha 13 node.js express node-redis
我有一个使用Express和node_redis的Node应用程序.我正在遵循学习节点手册中概述的方法,并在应用程序的生命周期中创建单个客户端.鉴于这种方法,我什么时候打电话close()给redis客户端?我还需要吗?
相关代码
var express = require( 'express' ),
redis = require( 'redis' );
var app = express(),
config = require( './config/application' )[ app.get( 'env' ) ];
// create Redis client
var redisClient = redis.createClient();
redisClient.on( 'error', function( err ) {
console.log( 'Error' + err );
} );
// select the database
redisClient.select( config.redis_database );
...
/* more setup, route defintions, etc. */
...
http.createServer( app ).listen( 4000, function() {
console.log( 'Server started and ready for action!' );
});
Run Code Online (Sandbox Code Playgroud)
你有几个选择.
.
process.on("exit", function(){
redisClient.quit();
});
Run Code Online (Sandbox Code Playgroud)
: 这个问题是 3 年前的问题,你可能已经得到了答案,无论如何这可能对一些新人有用。
您可以SIGINT通过以下代码使 nodejs 进程侦听从键盘发送的中断
process.on('SIGINT', function() {
redisClient.quit();
console.log('redis client quit');
});
Run Code Online (Sandbox Code Playgroud)
然后您可以Ctrl+C从键盘或通过kill -SIGINT <process id>. 发生这种情况时,将执行该代码。
这是我们不知道何时退出 redis 客户端,或者我们希望外部控制干净地退出/清除我们正在使用的资源的时候。
| 归档时间: |
|
| 查看次数: |
6292 次 |
| 最近记录: |