国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 學(xué)院 > 開發(fā)設(shè)計(jì) > 正文

spring boot 中redis與cookie整合

2019-11-10 20:21:36
字體:
供稿:網(wǎng)友

在sPRing boot中整合redis

在已有的spring boot項(xiàng)目的pom中加入redis的依賴

<dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-redis</artifactId> </dependency>

依賴注入后就可以在類中自動(dòng)裝配redis類

@Autowired private RedisTemplate redisTemplate;

redis中設(shè)置key value可以選擇是否有失效時(shí)間

//設(shè)置有失效時(shí)間的redis //第三個(gè)參數(shù)設(shè)置失效時(shí)間數(shù)值,第四個(gè)參數(shù)設(shè)置時(shí)間單位 redisTemplate.opsForValue().set(key,value,tokenMaxAge, TimeUnit.SECONDS); //設(shè)置沒有失效時(shí)間的redis redisTemplate.opsForValue().set(key,value);

對cookie進(jìn)行封裝

public class CookieUtil { /** * 設(shè)置cookie * @param response * @param name cookie名字 * @param value cookie值 * @param maxAge cookie生命周期 以秒為單位 */ public static void addCookie(HttpServletResponse response, String name, String value, int maxAge){ Cookie cookie = new Cookie(name,value); cookie.setPath("/"); if(maxAge>0) cookie.setMaxAge(maxAge); response.addCookie(cookie); } /** * 根據(jù)名字獲取cookie * @param request * @param name cookie名字 * @return */ public static Cookie getCookieByName(HttpServletRequest request, String name){ Map<String,Cookie> cookieMap = ReadCookieMap(request); if(cookieMap.containsKey(name)){ Cookie cookie = (Cookie)cookieMap.get(name); return cookie; }else{ return null; } } /** * 將cookie封裝到Map里面 * @param request * @return */ private static Map<String,Cookie> ReadCookieMap(HttpServletRequest request){ Map<String,Cookie> cookieMap = new HashMap<String,Cookie>(); Cookie[] cookies = request.getCookies(); if(null!=cookies){ for(Cookie cookie : cookies){ cookieMap.put(cookie.getName(), cookie); } } return cookieMap; }}

將cookie與redis整合起來

通過用戶cookie把用戶對應(yīng)信息存儲(chǔ)在redis中

//生成uuid存放在cookie String uuid =RandomUtil.getUUID(); //添加保存cookie CookieUtil.addCookie(response, Constant.Token,uuid,cookieMaxAge); //設(shè)置有失效時(shí)間的redis redisTemplate.opsForValue().set(uuid,value,tokenMaxAge, TimeUnit.SECONDS);

通過用戶cookie把用戶的信息從redis中取出

//取出cookie Cookie cookie= CookieUtil.getCookieByName(request,Constant.Token); if(cookie != null) { String token = cookie.getValue(); Object object = redisTemplate.opsForValue().get(token); if (object != null) { //返回redis中所存的內(nèi)容 return (String )object; } else { return null; } }else { return null; }

常用場景:用戶登陸,用戶產(chǎn)生唯一的標(biāo)示UUID,將UUID存入cookie,將所對應(yīng)的信息內(nèi)容放在UUID對應(yīng)的redis的中,通過讀取用戶的UUID來獲得用戶信息。


發(fā)表評論 共有條評論
用戶名: 密碼:
驗(yàn)證碼: 匿名發(fā)表
主站蜘蛛池模板: 绵竹市| 连城县| 甘洛县| 龙山县| 泽普县| 定结县| 博湖县| 寿光市| 化隆| 呈贡县| 巴彦淖尔市| 万源市| 屏东县| 攀枝花市| 伊宁市| 南木林县| 云南省| 永州市| 二连浩特市| 凤冈县| 万山特区| 伊通| 武山县| 柳河县| 察哈| 珠海市| 永和县| 东乡族自治县| 太湖县| 屏东县| 政和县| 阿勒泰市| 林周县| 永州市| 黄龙县| 顺义区| 文化| 安国市| 聂拉木县| 石城县| 达尔|