redis session manager
2015-09-18 11:35
771 查看
redis session-manager
keywords: session manager; redis session manager; redis session;1. config listener
set JedisPool and cacheEngine, new customer CacheListener extends CacheEngineLoadListener:CacheEngineLoadListener.java
““java
public class CacheListener extends CacheEngineLoadListener {
private static Log log = LogFactory.getLog(CacheListener.class);
protected WebApplicationContext ctx;
@Override public void contextInitialized(ServletContextEvent event) { ServletContext servletContext = event.getServletContext(); this.ctx = WebApplicationContextUtils.getWebApplicationContext(servletContext);//get spring ctx JedisPool jedisPool = this.ctx.getBean(JedisPool.class);//get jedisPool with spring log.info(jedisPool); servletContext.setAttribute(RedisCacheEngine.JEDIS_POOL, jedisPool); super.contextInitialized(event); } @Override public void contextDestroyed(ServletContextEvent event) { super.contextDestroyed(event); }
}
““
2. config web.xml (CacheListener & CacheSessionFilter)
Parameter | Required | type | Default value | description |
---|---|---|---|---|
maxInactiveInterval | false | int | 28800 | session expired time in second |
cookieDomain | false | string | sub domain | set cookie domain |
tldEnable | false | boolean | false | set cookie use top level domain |
cookieSessionIdName | false | string | SESSIONID | session id name in cookie |
cookieContextPath | false | string | / | cookie context path |
sessionCacheKeyPrefix | false | string | session | session key prefix in redis |
sessionAttributeListeners | false | string | null | javax.servlet.http.HttpSessionListeners name, split with comma |
<listener> <listener-class>com.ezhe.www.listener.CacheListener</listener-class> </listener> <!-- session manager filter --> <filter> <filter-name>CacheSessionFilter</filter-name> <filter-class>com.gozap.session.servlet.filter.session.CacheSessionFilter</filter-class> <init-param> <description>session expired time in second</description> <param-name>maxInactiveInterval</param-name> <param-value>3600</param-value> </init-param> <init-param> <description>session prefix int redis</description> <param-name>sessionCacheKeyPrefix</param-name> <param-value>session-ezhe</param-value> </init-param> <init-param> <description>use top level domain for sessionId </description> <param-name>tldEnable</param-name> <param-value>true</param-value> </init-param> </filter> <filter-mapping> <filter-name>CacheSessionFilter</filter-name> <url-pattern>/*</url-pattern> </filter-mapping> .... other filters
如果想各个 子域名之间共享session,设置 tldEnable=true 即可
session-manager.png
https://github.com/blackshadowwalker/session-manager
相关文章推荐
- HBase、MongoDB、MySQL、Oracle、Redis--nosql数据库与关系数据库对比
- python使用redis
- mac上简单使用redis
- Redis学习14之当java文件找不到import的文件的解决办法
- Keepalived+Redis安装
- Redis学习13之predis的set速度测试
- Redis学习12之jedis的set时间测试
- redis的启动与停止 可执行文件
- Redis学习11之jedis问题之1--connect time out
- Redhat5.8 环境下编译安装 Redis 并将其注册为系统服务
- Redhat5.8 环境下编译安装 Redis 并将其注册为系统服务
- Redis安装
- Redis命令
- redis缓存的安装和使用
- Redis 学习笔记八 NodeJs使用Redis
- 在Linux CentOS 6.6上安装RedisLive
- redis 多个服务器共享数据
- Redis学习10之Jedis连接redis和使用
- 关于多实例redis主从+Keepalived故障切换的解决方法
- C++ 操作Redis 简单封装类