spring boot 使用 redis session

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了spring boot 使用 redis session相关的知识,希望对你有一定的参考价值。

spring boot redis 使用 2

使用redis共享session

分布式系统中,Session 共享有很多的解决方案,其中托管到缓存中应该是最常用的方案之一

  1. pom文件中引入依赖

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

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

spring session 中默认加入了 security 不添加 security 依赖会抛异常:
java.lang.ClassNotFoundException: org.springframework.security.web.authentication.RememberMeServices

2.redis 配置

#redis配置
#Redis服务器地址
spring.redis.host=192.168.5.10
#Redis服务器连接端口
spring.redis.port=6379
#Redis数据库索引(默认为0)
spring.redis.database=4
#连接池最大连接数(使用负值表示没有限制)
spring.redis.jedis.pool.max-active=50
#连接池最大阻塞等待时间(使用负值表示没有限制)
spring.redis.jedis.pool.max-wait=3000
#连接池中的最大空闲连接
spring.redis.jedis.pool.max-idle=20
#连接池中的最小空闲连接
spring.redis.jedis.pool.min-idle=2
#连接超时时间(毫秒)
spring.redis.timeout=5000

spring.session.store-type=redis

3.在启动类中开启 redis session

@SpringBootApplication(exclude = SecurityAutoConfiguration.class)
@MapperScan("com.example.demo.dao.mybatis")
@EnableCaching
@EnableRedisHttpSession
public class DemoApplication 

@SpringBootApplication(exclude = SecurityAutoConfiguration.class) 去掉 security 权限认证自动装配
不去掉会引起权限不足

----end----

以上是关于spring boot 使用 redis session的主要内容,如果未能解决你的问题,请参考以下文章

spring-boot-data-redis,使用redisson作为redis客户端

Spring Boot 2.X:Spring Boot 集成 Redis

Spring Boot整合Redis

将 spring boot 与 redis 混合使用

如何隔离spring boot app redis和spring boot session全局redis

spring boot:使用redis cluster集群作为分布式session(redis 6.0.5/spring boot 2.3.1)