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
