Session持久化
1. 添加依賴
在項目中添加session依賴和redis依賴,如下所示:
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-data-redis</artifactId>
</dependency>
<dependency>
<groupId>org.springframework.session</groupId>
<artifactId>spring-session-data-redis</artifactId>
</dependency>
2. 配置redis連接信息
# redis連接配置信息
spring.redis.host=124.221.76.124
# 不寫默認wei6379,數(shù)據(jù)庫為0
# spring.redis.database=15
spring.redis.port=6379
# 配置session連接信息
spring.session.store-type=redis
server.servlet.session.timeout=1800
spring.session.redis.flush-mode=on_save
spring.session.redis.namespace=spring:session
3. 存儲和讀取session從Redis
package com.example.sp_redis.controller;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpSession;
/**
* 實現(xiàn)session持久化
* @author zq
* @date 2023-07-26 14:37
*/
@RestController
public class UserController {
private static final String SESS_USER_KEY = "SESS_USER_KEY";
@RequestMapping("/login")
public String login(HttpSession httpSession) {
//存入session
httpSession.setAttribute(SESS_USER_KEY, "wangwu");
return "Session set success.";
}
@RequestMapping("/getuser")
public String getUser(HttpServletRequest request) {
String user = "NULL";
HttpSession session = request.getSession(false);
if (session != null) {
//從redis中獲取session
Object userObj = session.getAttribute(SESS_USER_KEY);
if (userObj != null) {
user = userObj.toString();
}
}
return user;
}
}
我們訪問localhost:8080/login 將session存入redis
接著訪問localhost:8080/login可以讀取到緩存中的數(shù)據(jù)
接著我們可以在redis客戶端看到存入到session文章來源:http://www.zghlxwxcb.cn/news/detail-609643.html
文章來源地址http://www.zghlxwxcb.cn/news/detail-609643.html
到了這里,關(guān)于將Spring Session存儲到Redis中實現(xiàn)持久化的文章就介紹完了。如果您還想了解更多內(nèi)容,請在右上角搜索TOY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!