前沿
在Java Web开发中,如果你要做动态网页或者记录用户的相关信息等等,必然会或多或少涉及到Session的操作。
Session
session是什么呢?简单地来说,相当于一个有时间限制的会话“身份ID”,它维持了一段时间的客户端和服务器的会话,保证服务器知道和它的客户端是谁,客户端是否还在有效期等;具体的专业解释,在网上有很多,请自行查阅
痛点
1.原始的Session是存在内存中,如果机器或者进程重启,Session就会消失,用户在本来的有效期内还是会重新登录
2.如果将Session存放在MySql之类的数据库中,虽然保证了重启后session不会消失,但是管理Session将会是很繁琐的,而且还会遇到很多并发的问题
如何解决呢?
Springboot本身结合了Redis这样的缓存数据库,session的操作都是自动,不用考虑重启和各种管理问题,也可以应对适量的并发(大量的并发问题暂不考虑)
Redis
Redis众所周知是一个速度很快(可以直接从内存中读取)的Key-Value数据结构的数据库,通常用来做缓存,或者存储类型简单的数据,而且它有一套很完善的数据有效期机制。因此,Springboot就默认采用Redis来存储Session
开工
1.导入redis和session所需要的库(pom.xml)
在pom.xml文件中,添加
org.springframework.boot
spring-boot-starter-redis
1.4.7.RELEA