栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > Java

分布式session-springsession

Java 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

分布式session-springsession

Session共享问题解决方案

图片截屏自:https://www.bilibili.com/video/BV1np4y1C7Yf?p=226
第一种,不推荐

第二种,只是一种思想

常用第三种、第四种

SpringSession

环境要求:

将HttpSession存放在Redis

官网:https://docs.spring.io/spring-session/reference/guides/boot-redis.html

基本配置

xml配置:

        
            org.springframework.boot
            spring-boot-starter-data-redis
        
        
            org.springframework.session
            spring-session-data-redis
        

yaml配置

spring:
  redis:
    host: 你的主机
    port: 你的端口
  session:
    store-type: redis #用redis存session数据
server:
  servlet:
    session:
      timeout: 30m #session过期时间

主类标@EnableRedisHttpSession注解

配置cookie、json序列化

配置:

  • 配置cookie:https://github.com/spring-projects/spring-session/blob/2.7.0/spring-session-samples/spring-session-sample-javaconfig-custom-cookie/src/main/java/sample/Config.java
  • 配置使用json序列化:https://github.com/spring-projects/spring-session/blob/2.7.0/spring-session-samples/spring-session-sample-boot-redis-json/src/main/java/sample/config/SessionConfig.java
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;
import org.springframework.data.redis.serializer.GenericJackson2JsonRedisSerializer;
import org.springframework.data.redis.serializer.RedisSerializer;
import org.springframework.session.web.http.CookieSerializer;
import org.springframework.session.web.http.DefaultCookieSerializer;

@Configuration
public class SpringSessionConfig {
	
	@Bean
	public CookieSerializer cookieSerializer() {
		DefaultCookieSerializer serializer = new DefaultCookieSerializer();
		serializer.setCookieName("GULIMALL_SESSION");
		serializer.setCookiePath("/");
		// serializer.setDomainNamePattern("^.+?\.(\w+\.[a-z]+)$");
		serializer.setDomainName("gulimall.com");
		return serializer;
	}

	
	@Bean
	public RedisSerializer springSessionDefaultRedisSerializer() {
		return new GenericJackson2JsonRedisSerializer();
	}
}
 
核心原理 


转载请注明:文章转载自 www.mshxw.com
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号