zoukankan      html  css  js  c++  java
  • 简单管理用户SESSION小记(个人观点,欢迎斧正)

    做了几年码农,记录下一般涉及到用户session管理的方法。

    问题说明:

      a.用户如果点击退出时,可以获取用户动作,这样可以销毁session。

      b.用户直接关闭浏览器或者直接意外关机情况,无法获取用户动作。

      c.遇到的常用方式为长链接或短轮询。

    ---------------分割线----------------------------------------------------------

    1、使用web容器维护。

      我遇到的这种情况的业务要求是对在线用户等模块的实时性不高,这样的情况下用户监听放到了Listener中。用户未做持久化处理,分布式时采用容器的session复制。或者单独写一个session的管理后台。

    2、持久化到数据库

      这种情况为大多数(只是我遇到过的项目中,但大部分为政府项目)。由于业务的特殊性,需要获取在在线用户较为实时。同时,用户的session持久化的原因在与要与好多遗留的系统做用户同步,所以持久化后操作比较方便。但是由于持久化,同时前台还要使用c.中的方法去获取用户状态,所以对系统压力产生负面影响。

    3、手工维护

      在后台使用了currentHashMap或者是自己写的数据结构去存放用户,同时前台使用了c.的方式来获取用户状态,根据用户最后一次操作时间,使用定时任务刷新,删掉容器中不活动的session。

    --------------分割线-------------------------------------------------------------

    政府项目中(企业项目)遇到的瓶颈感觉主要在于技术更新慢,业务复杂。这样导致了很多技术无法使用,不知道大多数的互联网设计上是如何解决用户问题的。

  • 相关阅读:
    hdu 5646 DZY Loves Partition
    bzoj 1001 狼抓兔子 平面图最小割
    poj 1815 Friendship 最小割 拆点 输出字典序
    spoj 1693 Coconuts 最小割 二者取其一式
    hdu 5643 King's Game 约瑟夫环变形
    约瑟夫环问题
    hdu 5642 King's Order
    CodeForces 631C Report
    1039: C语言程序设计教程(第三版)课后习题9.4
    1043: C语言程序设计教程(第三版)课后习题10.1
  • 原文地址:https://www.cnblogs.com/GYoungBean/p/3291698.html
Copyright © 2011-2022 走看看