黑马程序员技术交流社区
标题:
session 共享怎么做的3
[打印本页]
作者:
小白进阶之路
时间:
2018-3-29 12:25
标题:
session 共享怎么做的3
我们实现的方案可以说是第二种方案和第三种方案的合体,可以利用 gemfire 实现 session 复制共享,还可以将
session 维护在 redis 中实现 session 共享,同时可以将 session 维护在客户端的 cookie 中,但是前提是数据要加密。
这三种方式可以迅速切换,而不影响应用正常执行。我们在实践中,首选 gemfire 或者 redis 作为 session 共享的载
体,一旦 session 不稳定出现问题的时候,可以紧急切换 cookie 维护 session 作为备用,不影响应用提供服务。
这里主要讲解 redis 和 cookie 方案,gemfire 比较复杂大家可以自行查看 gemfire 工作原理。利用 redis 做
session 共享,首先需要与业务逻辑代码解耦,不然 session 共享将没有意义,其次支持动态切换到客户端 cookie 模
式。redis 的方案是,重写服务器中的 HttpSession 和 HttpServletRequest,首先实现 HttpSession 接口,重写 session
的所有方法,将 session 以 hash 值的方式存在 redis 中,一个 session 的 key 就是 sessionID,setAtrribute 重写之
后就是更新 redis 中的数据,getAttribute 重写之后就是获取 redis 中的数据,等等需要将 HttpSession 的接口一一
实现
作者:
小白进阶之路
时间:
2018-3-30 17:36
占座00000000000000000
欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/)
黑马程序员IT技术论坛 X3.2