# springboot-redis **Repository Path**: MarkPolaris/springboot-redis ## Basic Information - **Project Name**: springboot-redis - **Description**: springboot整合redis - **Primary Language**: Unknown - **License**: Not specified - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 0 - **Created**: 2019-08-19 - **Last Updated**: 2020-12-19 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README > 整合mybatis请看springboot-demo02/[README.md](https://gitee.com/MarkPolaris/springboot-demo02)
整合通用mapper请看springboot-demo01/wiki/[整合通用mapper](https://gitee.com/MarkPolaris/springboot-demo02/wikis/springboot%E6%95%B4%E5%90%88%E9%80%9A%E7%94%A8Mapper?sort_id=1582526) 1.添加依赖 ```xml org.apache.commons commons-pool2 org.springframework.boot spring-boot-starter-data-redis ``` 2.配置redis参数 application.yml ```yml spring: redis: # Redis数据库索引(默认为0) database: 0 # Redis服务器地址 host: 127.0.0.1 # Redis服务器连接端口 port: 6379 lettuce: pool: # 连接池最大连接数(使用负值表示没有限制) max-active: 200 # 连接池最大阻塞等待时间(使用负值表示没有限制) max-wait: -1ms # 连接池中的最大空闲连接 max-idle: 10 # 连接池中的最小空闲连接 min-idle: 0 # 连接超时时间(毫秒) shutdown-timeout: 10000ms ``` 3.启动一个测试类 ```java public class AdminServiceImplTest extends SpringbootRedisApplicationTests { @Resource private AdminService adminService; @Test public void findAll() { List all = adminService.findAll(); // log.info("redis: "+all); String value = adminService.getValue(); log.info("redis: "+value); } } ``` 4.运行测试,出现报错,是因为实体类没有实现序列化 ```text org.springframework.data.redis.serializer.SerializationException: Cannot serialize; ``` 5.在测试一次 ![输入图片说明](https://images.gitee.com/uploads/images/2019/0819/210630_5c257439_1775424.png "屏幕截图.png") ok,就是可读性差一点,可以通过配置调整
6.配置可序列化器 完整测试类 > redisTemplate 中存取数据都是字节数组。当redis中存入的数据是可读形式而非字节数组时,使用redisTemplate取值的时候会无法获取导出数据,获得的值为null。可以使用 StringRedisTemplate 试试。 ```java package com.mark.springbootredis.service.impl; import com.mark.springbootredis.SpringbootRedisApplicationTests; import com.mark.springbootredis.entity.Admin; import com.mark.springbootredis.service.AdminService; import lombok.extern.slf4j.Slf4j; import org.junit.Test; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.data.redis.core.RedisTemplate; import org.springframework.data.redis.core.StringRedisTemplate; import org.springframework.data.redis.serializer.GenericJackson2JsonRedisSerializer; import org.springframework.data.redis.serializer.RedisSerializer; import org.springframework.data.redis.serializer.StringRedisSerializer; import javax.annotation.Resource; import java.util.List; import static org.junit.Assert.*; /** * @Author: MARK * @Date: 2019/8/20 08:18 * @Version: 1.0.0 * @Description: */ @Slf4j public class AdminServiceImplTest extends SpringbootRedisApplicationTests { @Resource private AdminService adminService; @Resource private RedisTemplate redisTemplate; @Resource private StringRedisTemplate stringRedisTemplate; @Test public void findAll() { // redisTemplate. //创建一个序列化器,让key value可读性好一点 RedisSerializer redisSerializer = new StringRedisSerializer(); redisTemplate.setKeySerializer(redisSerializer); // redisTemplate.setValueSerializer(new GenericJackson2JsonRedisSerializer()); 加了读取报错 所以还是不加了 List adminList = adminService.findAll(); redisTemplate.opsForValue().set("adminList", adminList); // redisTemplate.setValueSerializer(redisSerializer); // List adminList = (List)redisTemplate.opsForValue().get("adminList"); String name = stringRedisTemplate.opsForValue().get("name"); // log.info("\nname=" + name+"\nadminList=" + adminList); // List all = adminService.findAll(); //存值测试 // redisTemplate.opsForValue().set("adminList", all); } } ``` ![输入图片说明](https://images.gitee.com/uploads/images/2019/0820/093941_499a95f0_1775424.png "屏幕截图.png") > 说明配置成功了 >参考:
[SpringBoot--实战开发--整合Redis(十四)](https://www.jianshu.com/p/40be9762e6b7)
[StringRedisTemplate说明](https://www.cnblogs.com/slowcity/p/9002660.html) > 用IDEA写markdown时发现图片不好整上来,想着能有一个这方面的markdown插件就好了,结果搜了一下还真有
截图后直接Ctrl V就可以了 图片不是存放在图床中而是项目中 还可以接受吧 还有几个小功能 不错 ![](.README_images/插件.png) ![](.README_images/插件使用.png) ![](.README_images/项目结构.png)