目录
3. 在 application.yml 中配置?Redis 账户和密码
4. Redis 本地可视化管理工具:Another Redis Desktop
1. 用户发送登录请求
2. 服务端验证登录用户信息,校验通过设置 Cookie 响应给前端
3. 后续用户每次发送请求都会携带 Cookie
4. 服务端收到请求时校验 Cookie 中的 Session / JSESSIONID,在服务端(Tomcat)中查找 Cookie 信息
案例分析:为什么用户在服务器 A 登录后,向服务器 B 发送请求,B 不认识该用户?
- 用户在 A 登录,session 用户登录态存在 A 上面,B 上面没有用户的登录信息
- 第二次请求落到 B 上,B 找不到该用户的登录记录,所以请求失败
?Redis(基于内存的 K - V 数据库)
需要高频判断用户登录态
需要高频读取用户信息
Redis 读写性能高
server:
reactive:
session:
cookie:
domain: localhost
Redis 5.0.14 下载:
链接:https://pan.baidu.com/s/1XcsAIrdeesQAyQU2lE3cOg
提取码:vkoi
D:\tools\Redis-x64-3.2.100>redis-server.exe redis.windows.conf
[33684] 17 Jan 11:22:25.795 # Creating Server TCP listening socket 127.0.0.1:6379: bind: No error
D:\tools\Redis-x64-3.2.100>redis-cli.exe
127.0.0.1:6379> shutdown
not connected> exit
D:\tools\Redis-x64-3.2.100>redis-server.exe redis.windows.conf
?注意:引入的版本要和 SpringBoot 的版本一致
<!-- https://mvnrepository.com/artifact/org.springframework.boot/spring-boot-starter-data-redis -->
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-data-redis</artifactId>
<version>2.7.17</version>
</dependency>
spring:
redis:
host: 127.0.0.1
port: 6379
password: root@csu
database: 0
?注意:引入的版本要和 SpringBoot 的版本一致
<!-- https://mvnrepository.com/artifact/org.springframework.session/spring-session-data-redis -->
<dependency>
<groupId>org.springframework.session</groupId>
<artifactId>spring-session-data-redis</artifactId>
<version>2.7.0</version>
</dependency>
session:
timeout: 86400
store-type: redis