zoukankan      html  css  js  c++  java
  • SpringBoot + redis实现分布式session共享

    1.导入依赖

    @EnableRedisHttpSession这个注解是由spring-session-data-redis提供的

    <dependency>  
            <groupId>org.springframework.boot</groupId>  
            <artifactId>spring-boot-starter-redis</artifactId>  
    </dependency>  
    <dependency>  
            <groupId>org.springframework.session</groupId>  
            <artifactId>spring-session-data-redis</artifactId>  
    </dependency>  
    

    2.添加@EnableRedisHttpSession来开启spring session支持

    @Configuration  
    @EnableRedisHttpSession  
    public class RedisSessionConfig {  
    } 
    

    3.在配置文件里配置spring session

    spring.session.store-type=redis     #指定redis实现spring session储存
    
    server.servlet.session.timeout=3600     # Session过期时间,单位s
    
    #session更新策略,有ON_SAVE、IMMEDIATE
    #前者是在调用#SessionRepository.save(org.springframework.session.Session)时,在response commit前刷新缓存
    #后者是只要有任何更新就会刷新缓存
    spring.session.redis.flush-mode = on_save
    
    spring.session.redis.namespace=SESSIONS    #用于存储会话的密钥的命名空间。
    

    4.共享session

    controller中通过参数(HttpServletRequest request)
    request.getSession().setAttribute("requestUrl", request.getRequestURL());
    

    session会自动保存在redis中。
    然后访问不同的服务器(同一个redis)可以获取同一个session,实现session共享。

  • 相关阅读:
    二柱子在线答题
    SWUST OJ(952)
    SWUST OJ (943)
    FileZilla 客户端连接 FlieZilla 服务器 连接成功读取目录列表却失败的解决办法
    串的模式匹配算法 ------ KMP算法
    lvalue require as increment operand
    c 语言连续输入字符型数据
    [pat]数素数
    [PAT]数字分类
    HDOJ_4540_威威猫系列故事——打地鼠
  • 原文地址:https://www.cnblogs.com/loveer/p/11318680.html
Copyright © 2011-2022 走看看