关闭

Node.js使用iis管理器中session丢失处理

197人阅读 评论(0) 收藏 举报
分类:

/**

 *2015/11/20 

 */

服务器环境:Server 2008 r2 

Iis管理器版本:6.1

项目:Node.js

原因:Node.js中的session丢失

 

解决方案:

1.memcached安装

1.1下载Memcached

1.2 cmd > memcached -d install

1.3 cmd > 输入 memcached -h第一行有版本输出安装好了

2.app.js添加修改

2.1添加

var connect = require('connect');

var MemcachedClient = require('./tooles/memcached_helper.js');
var MemcacheStore = require('connect-memcached')(connect);

在var app = express();下添加

MemcachedClient.init();

2.2修改

app.use(usession({

........

}));

改为

app.use(session({
    secret: 'rob_admin',
    name:'rob_admin',
    cookie:{maxAge:800000},
    secret: 'AuthenticationSecret',
    store: new MemcacheStore({client: MemcachedClient}),
    resave:false,
    saveUninitialized: true
}));

3.新建tooles/memcached_helper.js

内容如下:

(function(){
    var memconfig = require('../serverconfig.js').Memcached;
    var Memcached =require('memcached');
    Memcached.config.poolSize = 100;
    dummy: function dummy(error, ok) {
        if(error){
            console.error('memcached err:',JSON.stringify(error));
        }
    }
    module.exports = {
        init: function ctor() {
            memcachedClient = new Memcached(memconfig.host+':'+memconfig.port,{poolSize:100});
            console.log("memcached is started! host"+memconfig.host+':'+memconfig.port);
        },
        set: function addToCache(key, val, expire, callback) {
            if (!expire) expire = 5*60; //sec
            if (!callback) callback = dummy;
            memcachedClient.set(key, val, expire, callback);
        },
        get: function getFromCache(key, callback) {
            if (!callback) callback = dummy;
            memcachedClient.get(key, callback);
        },
        del:function delFromCache(key,callback){
            if (!callback) callback = dummy;
            memcachedClient.del(key,callback);
        }
    };
}).call(this);

3.1新建/serverconfig.js

(function(){

    //缓存服务器配置
    var Memcached={
        host:'192.168.1.108',
        port:11211
    }
    module.exports = {
        Memcached:Memcached
    };

}).call(this);

----------------------------------------------------------------------------------------


0
0

查看评论
* 以上用户言论只代表其个人观点,不代表CSDN网站的观点或立场
    个人资料
    • 访问:32287次
    • 积分:827
    • 等级:
    • 排名:千里之外
    • 原创:43篇
    • 转载:12篇
    • 译文:7篇
    • 评论:4条
    文章分类
    最新评论