Redis 分布式会话实现

1 常规方式

下方的redisOperator就是个工具类,对redis api 操作进行简单的封装,如果有兴趣的,可以下方的地址下载:

CSDN下载地址: https://download.csdn.net/download/qq_15769939/15378282

1.1 登录

 // 登录的时候,token存入redis
  String uniqueToken = UUID.randomUUID().toString().trim();
  redisOperator.set("redis_user_token" + ":" + userId,uniqueToken);

1.2 退出

 // 退出的时候,redis中移除token
  String uniqueToken = UUID.randomUUID().toString().trim();
  redisOperator.del("redis_user_token" + ":" + userId);

2 springSession方式

2.1 引入依赖


  org.springframework.session
  spring-session-data-redis


  org.springframework.boot
  spring-boot-starter-security

2.2 配置存储类型

spring:
	session:
		store-type: redis

2.3 boot启动类配置

@SpringBootApplication(exclude = {SecurityAutoConfiguration.class}) // 去除安全自动装配
@EnableRedisHttpSession // 开启使用redis作为spring session

2.4 范例代码

import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.RestController;

import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpSession;

/**
 * 类文件: TestController
 * 

*

* 类描述:测试控制层 *

* 作 者: AusKa_T *

* 日 期: 2021/1/20 0010 *

* 时 间: 20:19 *

*/ @RestController public class TestController { @GetMapping("/setSession") public Object setSession(HttpServletRequest request) { HttpSession session = request.getSession(); session.setAttribute("userInfo","new User"); session.setMaxInactiveInterval(3600); session.getAttribute("userInfo"); // session.removeAttribute("userInfo"); return "ok"; }

2.5 测试

访问地址接口setSessionredis客户端中查看数据

Redis 分布式会话实现_第1张图片

3 相关信息

  • 博文不易,辛苦各位猿友点个关注和赞,感谢

你可能感兴趣的:(redis,redis)