SpringBoot集成Redis,并且使用Redis实现session共享
其实就是配置啦
SpringBoot真是太方便了!!!
说到session共享,这是一个非常重要的东西,由于微服务越来越流行,现在一个应用中的不同功能有可能不会再一台服务器上边
而session是保存在服务器上面的,要是用户访问不同的服务器、但是session不是同一个,就会有很大的问题
为了解决这个问题,可以使用redis在客户端和服务端中间架一道墙,将session中的数据保存在redis中,这样就没那么多屁事了
而springboot实现这个功能真是简单的很
1、在springboot的pom.xml文件中,加上session使用redis保存的配置
<!--session+redis--> <dependency> <groupId>org.springframework.session</groupId> <artifactId>spring-session-data-redis</artifactId> </dependency> <!--应用环境基本配置--> <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-data-redis</artifactId> </dependency>
2、在application.yml配置文件(也有可能是.properties这种后缀、我反正用的是yml)中、加入redis的配置
#数据库连接属性配置 spring: datasource: driver-class-name: com.mysql.cj.jdbc.Driver url: jdbc:mysql://localhost:3306/hospital?serverTimezone=Asia/Shanghai username: root password: 614 #redis服务器配置 redis: host: 127.0.0.1 port: 6379 #session保存方式配置 session: store-type: redis #mybatis实体类名 mybatis: type-aliases-package: top.yibobo.hospital.domain configuration: map-underscore-to-camel-case: true #设置服务器端口号/session保存时长 server: port: 8086 session: timeout: 1800
3、在application启动类加上这俩注解,就是我打的注释下面那俩
package top.yibobo.hospital; import org.mybatis.spring.annotation.MapperScan; import org.springframework.boot.SpringApplication; import org.springframework.boot.autoconfigure.SpringBootApplication; import org.springframework.cache.annotation.EnableCaching; import org.springframework.session.data.redis.config.annotation.web.http.EnableRedisHttpSession; @SpringBootApplication //该注解用来使指定包下所有的接口都被组件化,都给生成实现类放在Spring里边 @MapperScan("top.yibobo.hospital.mapper") //redis缓存session设置 @EnableCaching @EnableRedisHttpSession public class HospitalApplication { public static void main(String[] args) { SpringApplication.run(HospitalApplication.class, args); } }
4、打开redis服务器
5、运行springboot项目,然后就ok了
简单无脑暴力高效、我只认SpringBoot