首先引入关键依赖
<!--lombok,引入就不要写getset方法-->
<dependency>
<groupId>org.projectlombok</groupId>
<artifactId>lombok</artifactId>
<optional>true</optional>
</dependency>
<!-- test测试依赖-->
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-test</artifactId>
<scope>test</scope>
</dependency>
<!-- redis依赖-->
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-data-redis</artifactId>
</dependency>
<!-- 连接池依赖-->
<dependency>
<groupId>org.apache.commons</groupId>
<artifactId>commons-pool2</artifactId>
<!-- <version></version>-->
</dependency>
<!-- json序列化依赖-->
<dependency>
<groupId>com.fasterxml.jackson.core</groupId>
<artifactId>jackson-databind</artifactId>
<scope>test</scope>
</dependency>
application.properties的文件配置
spring.data.redis.host=192.168.159.128
spring.data.redis.port=6379
spring.data.redis.password=123456
spring.data.redis.lettuce.pool.max-active=8
spring.data.redis.lettuce.pool.max-idle=8
spring.data.redis.lettuce.pool.min-idle=0
spring.data.redis.lettuce.pool.max-wait=100
再测试类定义两个序列化的
@Autowired
private RedisTemplate redisTemplate;
@Autowired
private StringRedisTemplate stringRedisTemplate;
测试类如下
@Test
void text(){
redisTemplate.opsForValue().set("name","看我");
stringRedisTemplate.opsForValue().set("name","看我");
}
此时查看数据库
可知 stringRedisTemplate是对字符类型进行转换而RedisTemplate没有
第二:将json数据存入redis
测试类:
@Test
void text1() throws JsonProcessingException {
data data =new data();
data.setName("yhw");
data.setAge(9);
String json=mapper.writeValueAsString(data);
mapper.writeValueAsString(data);
System.out.println(data);
System.out.println(json);
stringRedisTemplate.opsForValue().set("user",json);
}
data类:
@Data
public class data {
private String name;
private int age;
}
运行结果为:
可以看到·没序列化是data(name=yhw,age=9),序列化后就转成json对象就可以存入redis的