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

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

    问题说明:

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

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

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

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

    1、使用web容器维护。

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

    2、持久化到数据库

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

    3、手工维护

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

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

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

  • 相关阅读:
    小白_开始学Scrapy__原理
    python zip()函数
    前端工程精粹(一):静态资源版本更新与缓存
    HTML 5 History API的”前生今世”
    常见的几个js疑难点,match,charAt,charCodeAt,map,search
    前端安全须知
    Html5游戏框架createJs组件--EaselJS(二)绘图类graphics
    Html5游戏框架createJs组件--EaselJS(一)
    github基本用法
    jquery ajax中事件的执行顺序
  • 原文地址:https://www.cnblogs.com/GYoungBean/p/3291698.html
Copyright © 2011-2022 走看看