前言
本文写下session持久化和分布式共享 基于shiro框架对session的管理机制来实现
必要性
- 一直处于登陆状态:你登陆微信 不可能三天两头就让你重新登陆吧?而是一直处于登陆状态 除非主动退出微信
- session共享 对于分布式系统 一个用户的多次请求到不同的机器上 不可能每次请求都生成一个session 彼此没有联系吧?而是希望一个用户登陆一次就有一个session 每次请求都会使用这一个session的信息
shiro对session的管理机制
shiro中的sessionDao接口就是用来进行持久化和缓存处理的
- sessionDAO接口有一个抽象子类 AbstractSessionDAO
- 抽象子类AbstractSessionDAO有2个实现类 CachingSessionDAO(用于缓存处理)、MemorySessionDAO(用于内存管理)
- CachingSessionDAO有一个子类EnterpriseCacheSessionDAO
- CachingSessionDAO有一个接口 CacheManagerAware
下面分别介绍下每一个接口或类中的内容
sessionDAO