【springboot】redis-session共享总结


前提

本文基于spring-boot-2.1.x版本实现redis的session共享

一、pom依赖

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

二、通用参数配置

在yaml或者properties文件中配置以下内容:

#默认为none,启用redis
spring.session.store-type=redis
#单机模式
spring.redis.host=xx.xx.xx.xx
spring.redis.port=6379
#集群模式
#spring.redis.cluster.nodes=ip:7001,ip:7002,...
#启用密码
#spring.redis.password=password
#session的cookie名称,作为session共享时的标识
server.servlet.session.cookie.name=test

三、扩展配置

1、配置方式

在yaml或者properties文件中配置以下内容即可:

#redis命名空间,即redis内存储结构
spring.session.redis.namespace=xxx.xxx.xxx.test
#如果未设置该属性,则自动配置会返回到 server.servlet.session.timeout 的值,默认30分钟,这里使用Duration定义参数,PT1M代表1分钟,PT1H代表1小时,PT1D代表1天
spring.session.timeout=PT1H
#和spring.session.timeout必须设置其中之一
server.servlet.session.timeout=PT1H

2、注解方式

在启动类中加入以下配置
@EnableRedisHttpSession(redisNamespace = “xxx.xxx.xxx.test”,maxInactiveIntervalInSeconds=600)

EnableRedisHttpSession可以配置redis的命名空间和session存活时间,默认30分钟,如果不需要动态调整这些参数的,可以使用此注解实现session共享,较为快捷。

注意

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

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值