• 简单管理用户SESSION小记(个人观点,欢迎斧正)


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

    问题说明:

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

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

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

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

    1、使用web容器维护。

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

    2、持久化到数据库

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

    3、手工维护

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

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

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

  • 相关阅读:
    关于Xil_Assert断言产生的死循环,导致程序未执行的问题
    Unable to connect to ps7_cortexa9的参考解决方案Zedboard,zynq
    Xilinx SDK下载时出现的几个问题总结
    深入分析SCU GIC驱动 1 ZEDBOARD,ZYNQ7000
    Git命令行介绍和使用说明(持续更新)
    常用快捷键—Webstorm入门指南
    数组和链表的关系
    把Sublime Text 2固定到Ubuntu启动器
    Node的Eclipse插件 Nodeclipse
    Sublime 自定义格式化快捷键
  • 原文地址:https://www.cnblogs.com/GYoungBean/p/3291698.html
Copyright © 2020-2023  润新知