SpringBoot学习笔记5-集成redisSession

  • 内容
  • 评论
  • 相关

session对于做web开发的人来说再熟悉不过了,session存在于服务端,一般用来存储一下用户信息、验证码等,一般情况下单应用是不需要集成redisSession,那么什么情况下可以并且需要使用redisSession。

这两种情况一定会需要使用redisSession

1:单个应用做集群、负载均衡的时候。

集群是就多个相同的应用进行组合,用来做负载均衡,应对高并发情况,但是每个应用都有自己独立的session管理,所以需要使用redisSession集中管理session

2:应用需要频繁的发布。

应用频繁的发布会导致自带的session不断的重置,比如有个用户正在进行某个操作,这个时候应用更新了新功能,应用重启了,如果没有使用redisSession,用户就会因为session失效导致操作失败,比如被登录拦截器拦截重定向,如果使用了redisSession,用户的操作就不会受到影响(只要redis不出问题)

现在开始在springboot中配置redisSession

1:安装redis,可以去另一篇笔记看看(https://jiafeiblog.com/?p=171)

2:配置pom.xml,至于version就自己去找了

<dependency>
    <groupId>org.springframework.data</groupId>
    <artifactId>spring-data-redis</artifactId>
</dependency>
<dependency>
    <groupId>redis.clients</groupId>
    <artifactId>jedis</artifactId>
    <version>2.9.0</version>
</dependency>
<dependency>
    <groupId>org.springframework.session</groupId>
    <artifactId>spring-session-data-redis</artifactId>
    <version>2.0.6.RELEASE</version>
</dependency>

3:添加一个配置类,什么都不用写,加上注解就可以了

@Configuration
@EnableRedisHttpSession
public class RedisSessionConfig {
//什么都不用写
}

4:进行测试,我的测试方式是先启动应用,然后去看看redis中有没有session的信息,如果有信息,执行keys *命令可以看到这些东西

然后重启应用,这个时候去看看前端会不会因为重启受到影响,比如从session中获取信息,如果不受影响,就说明redisSession集成成功了

补充:集成redisSession后,如果要往session中存储对象信息,一定要实现Serializable序列化接口,不然存不进去

评论

1条评论
  1. Gravatar 头像

    watermelon 回复

    学到了学到了

发表回复

您的电子邮箱地址不会被公开。 必填项已用 * 标注