SpringBoot整合redis
1、导入依赖, redis相关依赖
<!-- 配置使用redis启动器 --> <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-data-redis</artifactId> </dependency>
2、 在SpringBoot的配置文件中配置redis相关信息:(开启一个redis,ip端口一致)
spring:
#redis相关的信息
redis:
host: 127.0.0.1
port: 6379
3、给entity实体类实现Serializable接口
操作redis: SpringBoot创建RedisTemplate的bean, 4、在service 使用RedisTemplate操作redis
测试:
@Service public class EmployeeServiceImpl implements IEmployeeService { @Autowired private EmployeeMapper empMapper; @Autowired private RedisTemplate redisTemplate; @Override public Employee queryOne(int empno) throws Exception { String key = "emp_"+empno; if(redisTemplate.hasKey(key)) { return (Employee)redisTemplate.opsForValue().get(key); } Employee emp = empMapper.queryById(empno); redisTemplate.opsForValue().set(key, emp, 7, TimeUnit.DAYS); return emp; }
SpringBoot 解决session共享问题
Tomcat集群 --> nginx
1、添加Session共享的依赖
<!-- 配置使用redis启动器 --> <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-data-redis</artifactId> </dependency> <!-- session共享的依赖 --> <dependency> <groupId>org.springframework.session</groupId> <artifactId>spring-session-data-redis</artifactId> </dependency>
测试:
1、首先关闭热部署
2、启动一个tomcat
#端口
server:
port: 8888
更改端口在启动一个tomcat
#端口
server:
port: 9999
编写一个测试TestSessionController.java,返回json页面数据
//@Controller //@ResponseBody //表示这个Controller类所有的方法响应的数据 @RestController //@Controller 与@ResponseBody 组合注解 //如果json, 响应给前端的数据乱码, 添加这个: produces = "application/json;charset=utf-8" @RequestMapping(value="session",produces = "application/json;charset=utf-8") public class TestSessionController { @Value("${server.port}") private Integer port;
@GetMapping(value = "set" ) public String set(HttpSession session) throws Exception { session.setAttribute("name", "张三"); return "端口号为:"+port+",Tomcat服务器处理了您的请求"; } @GetMapping(value = "get" ) public String get(HttpSession session) throws Exception { return "端口号为:"+port+",Tomcat服务器处理了您的请求,获取的到数据:"+session.getAttribute("name"); }
开启nginx 。
注意: 使用redis, 先关闭Tomcat, 再关闭redis服务器