zoukankan      html  css  js  c++  java
  • node中session的管理

    请看这个博客:   http://spartan1.iteye.com/blog/1729148

    我自己的理解

    session俗称会话。

    第一次访问服务器的时候由服务器创建,相当于一个cookie(就是),key为sessionid之类的名字。

    每次http请求的时候,会取出来与数据库中保存的session列表,对比找出相同的那个,然后找出这个req.session的user或者爱好之类的属性的信息。

    Session 对象存储特定用户会话所需的信息。这样,当用户在应用程序的 Web 页之间跳转时,存储在 Session 对象中的变量将不会丢失,而是在整个用户会话中一直存在下去。

    当用户请求来自应用程序的 Web 页时,如果该用户还没有会话,则 Web 服务器将自动创建一个 Session 对象。当会话过期或被放弃后,服务器将终止该会话。

    session有自己的设置方式和销毁的方式,一般情况下connect-redis(session)会帮助我们管理,这个我们不需要关心。

    如果你还不理解:请查看这篇博客:http://ourjs.com/detail/54b72644232227083e00000a

    参数的设置:

    miss lei的项目中:

    var session = require('express-session');

    var RedisStore = require('connect-redis')(session);

    store: new RedisStore(conf.SESSION_REDIS),

    SESSION_REDIS:{
    port: 6379,
    //port: 6379,
    //host: '127.0.0.1'
    host: '10.150.160.136'
    },

    只给了数据库的ip和端口。

    而在miss shen的项目中:

    var session = require('express-session');
    var RedisStore = require('connect-redis')(session);

    options.store = new RedisStore( {retry_max_delay: 5000, max_attempts: 3} );

    ************************************
    ************************************

    当然了可以放redis中,也可以放mongo中,我们放在redis中的比较多。

  • 相关阅读:
    1.python简介
    JSP标准标签库:JSTL
    冒泡排序算法
    中英文金额大写转换器
    递归与斐波那契数列
    web.xml配置文件详解
    Servlet及相关类和接口
    Servlet初始化及处理HTTP请求
    [转]jqGrid 属性、事件全集
    java web 过滤器跟拦截器的区别和使用
  • 原文地址:https://www.cnblogs.com/coding4/p/5581273.html
Copyright © 2011-2022 走看看