多个springmvc项目共用同一个redis导致session冲突的问题 的解决方案

 由于redis来做session的统一管理插件,如果多个项目使用同一个redis来管理session的话,那么session很有可能会出现冲突。

下图:默认session在redis中的key值是spring:session:sessions:sessionId,如果多个项目中出现了相同的sessionId的情况下就会在redis中出现key值被覆盖

多个springmvc项目共用同一个redis导致session冲突的问题 的解决方案_第1张图片

那么解决方案就很简单:

方案一、springmvc配置方案

applicationContext.xml文件中增加配置


  
    
        
        
        
        
         
        
    

方案二、springboot配置方案

配置文件配置方式:yml或properties

spring.session.redis.namespace=xxx.xxx.xxx.test

 启动类配置

@EnableRedisHttpSession(redisNamespace = “xxx.xxx.xxx.test”,maxInactiveIntervalInSeconds=600)

选择配置方式就不要再用注解方式,@EnableRedisHttpSession优先级高于配置文件的方式,会导致配置不生效。

你可能感兴趣的:(spring,JAVA,WEB,session,spring,redis,数据库)