赞
踩
redis常用于缓存等场景。
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-data-redis</artifactId>
</dependency>
package com.it2; import org.junit.jupiter.api.Test; import org.junit.runner.RunWith; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.boot.test.context.SpringBootTest; import org.springframework.data.redis.core.RedisTemplate; import org.springframework.test.context.junit4.SpringRunner; @RunWith(SpringRunner.class) @SpringBootTest class SpringbootRedis01ApplicationTests { @Test void set(@Autowired RedisTemplate redisTemplate) { ValueOperations ops = redisTemplate.opsForValue(); ops.set("a","123"); } @Test void get(@Autowired RedisTemplate redisTemplate) { ValueOperations ops = redisTemplate.opsForValue(); System.out.println(ops.get("a")); } }
spring:
redis:
host: 127.0.0.1
port: 6379
password: 123456
读取
@Test
void hset(@Autowired RedisTemplate redisTemplate){
HashOperations ops= redisTemplate.opsForHash();
ops.put("key1","name","xiaowang");
ops.put("key1","age","11");
}
@Test
void hget(@Autowired RedisTemplate redisTemplate){
HashOperations ops= redisTemplate.opsForHash();
System.out.println(ops.get("key1","name"));
System.out.println(ops.entries("key1"));
}
执行存储后,进行hget操作
前面我们的例子一直使用的RedisTemplate, 存入了一些数据,通过工具查看redis的内容,发现存入的数据是不是我们想要的,是一串乱码一样的内容。
查看RedisTemplate的源码发现,它有两个泛型参数,我们没有传递,所以两个参数默认是Object类型,所以这也就解释了demo里的字符串为什么是乱码一样的内容。
我们将demo修改,使用StringRedisTemplate
@Test void set(@Autowired StringRedisTemplate redisTemplate) { ValueOperations ops = redisTemplate.opsForValue(); ops.set("a","123"); } @Test void get(@Autowired StringRedisTemplate redisTemplate) { ValueOperations ops = redisTemplate.opsForValue(); System.out.println(ops.get("a")); } @Test void hset(@Autowired StringRedisTemplate redisTemplate){ HashOperations ops= redisTemplate.opsForHash(); ops.put("key1","name","xiaowang"); ops.put("key1","age","11"); } @Test void hget(@Autowired StringRedisTemplate redisTemplate){ HashOperations ops= redisTemplate.opsForHash(); System.out.println(ops.get("key1","name")); System.out.println(ops.entries("key1")); }
再执行测试用例,查看数据,可以看到数据显示不乱码,得到了想要的数据。
<dependency>
<groupId>redis.clients</groupId>
<artifactId>jedis</artifactId>
</dependency>
spring:
redis:
host: 127.0.0.1
port: 6379
client-type: jedis #配置客户端类型
jedis客户端实现有两种,分别为lettuce和jedis,默认为lettuce。
如果有需要,可以继续向下设置jedis和lettuce的专属配置。
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。