做负载均衡的时候,往往会遇到需要session同步的问题,方案很多,但是都有各种的缺点,最近发现spring-session项目,原理是将session保存到redis,来实现session同步,好处是不管增加多少个tomcat,都没有问题,做负载的时候,也不用考虑session问题,而且配置灰常简单,因为我们的项目就是用redis来缓存数据的,只需要添加两行配置即可
1、添加spring-session
<dependency>
<groupId>org.springframework.session</groupId>
<artifactId>spring-session</artifactId>
<version>1.0.2.RELEASE</version>
</dependency>
2、在spring 配置文件里面配置一个bean
<bean class="org.springframework.session.data.redis.config.annotation.web.http.RedisHttpSessionConfiguration"/>
3、在web.xml里面添加一个监听器
<filter>
<filter-name>springSessionRepositoryFilter</filter-name>
<filter-class>org.springframework.web.filter.DelegatingFilterProxy</filter-class>
</filter>
<filter-mapping>
<filter-name>springSessionRepositoryFilter</filter-name>
<url-pattern>/*</url-pattern>
</filter-mapping>
以上,就实现了将session透明的写入到redis,代码都不需要改变,我们用的是spring-mvc,切换很顺畅,没有遇到什么大问题
需要注意的就是redis需要2.8以上版本,然后开启事件通知,在redis配置文件里面加上
notify-keyspace-events Ex
<script type="text/javascript">
$(function () {
$('pre.prettyprint code').each(function () {
var lines = $(this).text().split('\n').length;
var $numbering = $('<ul/>').addClass('pre-numbering').hide();
$(this).addClass('has-numbering').parent().append($numbering);
for (i = 1; i <= lines; i++) {
$numbering.append($('<li/>').text(i));
};
$numbering.fadeIn(1700);
});
});
</script>
分享到:
相关推荐
赠送jar包:spring-session-data-redis-2.0.4.RELEASE.jar; 赠送原API文档:spring-session-data-redis-2.0.4.RELEASE-javadoc.jar; 赠送源代码:spring-session-data-redis-2.0.4.RELEASE-sources.jar; 赠送...
赠送jar包:spring-session-core-2.0.5.RELEASE.jar; 赠送原API文档:spring-session-core-2.0.5.RELEASE-javadoc.jar; 赠送源代码:spring-session-core-2.0.5.RELEASE-sources.jar; 赠送Maven依赖信息文件:...
赠送jar包:spring-session-data-redis-2.0.4.RELEASE.jar; 赠送原API文档:spring-session-data-redis-2.0.4.RELEASE-javadoc.jar; 赠送源代码:spring-session-data-redis-2.0.4.RELEASE-sources.jar; 赠送...
赠送jar包:spring-session-1.3.5.RELEASE.jar; 赠送原API文档:spring-session-1.3.5.RELEASE-javadoc.jar; 赠送源代码:spring-session-1.3.5.RELEASE-sources.jar; 赠送Maven依赖信息文件:spring-session-...
spring-session+spring依赖jar包,包含spring4.0.2.RELEASE相关jar包和commons-pool2-2.4.2.jar,jedis-2.7.3.jar,spring-data-redis-1.6.2.RELEASE.jar,spring-session-1.1.1.RELEASE.jar
标题中的“Spring-session2整合spring5+redis”指的是在Spring框架的第五个主要版本(Spring 5)中,集成Spring Session 2与Redis数据库来管理Web应用的会话(Session)。Spring Session是一个开源项目,旨在提供一...
commons-pool2-2.3.jar,jedis-2.8.0.jar,spring-data-redis-1.6.0.RELEASE.jar,spring-session-1.1.1.RELEASE.jar,Spring-data-redis(Version 1.6.0.RC1)中文版.pdf
赠送jar包:spring-session-1.3.5.RELEASE.jar; 赠送原API文档:spring-session-1.3.5.RELEASE-javadoc.jar; 赠送源代码:spring-session-1.3.5.RELEASE-sources.jar; 赠送Maven依赖信息文件:spring-session-...
如果没有sessionId就新创建session,如果有sessionId,就去redis中查看是否有此id的记录,如果没有就新建session,如果有,还是新建session,并把redis中此session的相关数据赋值给新建的session,最后保存sessionId...
赠送jar包:spring-session-1.3.0.RELEASE.jar; 赠送原API文档:spring-session-1.3.0.RELEASE-javadoc.jar; 赠送源代码:spring-session-1.3.0.RELEASE-sources.jar; 包含翻译后的API文档:spring-session-...
spring-session-1.2.1 源码spring-session-1.2.1 源码spring-session-1.2.1 源码
Spring-Session是Spring社区推出的一个项目,它的核心目标是替换传统的基于JSESSIONID的HttpSession,使得Session可以在分布式环境中进行存储和管理。Spring-Session能够透明地与Spring MVC和Spring Boot集成,无需...
赠送jar包:spring-session-core-2.0.5.RELEASE.jar; 赠送原API文档:spring-session-core-2.0.5.RELEASE-javadoc.jar; 赠送源代码:spring-session-core-2.0.5.RELEASE-sources.jar; 赠送Maven依赖信息文件:...
包含spring4.0相关jar包和commons-pool2-2.4.2.jar,jedis-2.7.3.jar,spring-data-redis-1.6.2.RELEASE.jar,spring-session-1.1.1.RELEASE.jar
赠送jar包:spring-session-1.3.0.RELEASE.jar 赠送原API文档:spring-session-1.3.0.RELEASE-javadoc.jar 赠送源代码:spring-session-1.3.0.RELEASE-sources.jar 包含翻译后的API文档:spring-session-1.3.0....
本节将详细介绍如何使用Spring-Session结合Redis来实现Session共享,包括必要的依赖项添加、配置以及具体的应用示例。 ##### 1. 添加依赖 为了使用Spring-Session,首先需要在项目中添加相应的Maven依赖。下面展示...
总的来说,"nginx+spring-session+redis 实现session共享"是分布式系统中常见的解决方案,它结合了Nginx的负载均衡能力、Spring-Session的数据持久化特性以及Redis的高可用性,有效地解决了分布式环境下的会话管理...
spring-session-1.0.2.RELEASE.jar
jedis-2.7.3.jar,spring-session-1.1.1.RELEASE.jar,spring-data-redis-1.6.2.RELEASE.jar等。。。
5. **测试支持**:为了帮助开发者更好地测试和调试,此版本可能增强了测试工具和示例代码,包括模拟不同会话存储后端的测试类,以及如何在单元测试和集成测试中使用 Spring Session 的指导。 6. **文档更新**:...