Spring Boot 学习笔记(十) Redis集群搭建
- Spring Boot 学习笔记 源码地址
- Spring Boot 学习笔记(一) hello world
- Spring Boot 学习笔记(二) 整合 log4j2
- Spring Boot 学习笔记(三) 整合 MyBatis + Druid
- Spring Boot 学习笔记(四) 整合 Druid 监控
- Spring Boot 学习笔记(五) 整合 静态资源
- Spring Boot 学习笔记(六) 整合 RESTful 参数传递
- Spring Boot 学习笔记(七) 整合 Swagger2
- Spring Boot 学习笔记(八) 整合 Filter
- Spring Boot 学习笔记(九) 整合 多环境配置
- Spring Boot 学习笔记(十) Redis集群搭建
- Spring Boot 学习笔记(十一) 整合 Redis
1. 添加依赖
1<dependency>
2 <groupId>org.springframework.boot</groupId>
3 <artifactId>spring-boot-starter-data-redis</artifactId>
4</dependency>
2. 添加 Redis 配置
1spring:
2 redis:
3 cluster:
4 nodes: 127.0.0.1:9001,127.0.0.1:9002,127.0.0.1:9003
5 password: ******
6 timeout: 10000ms
7 database: 0
8 jedis:
9 pool:
10 max-idle: 8
11 min-idle: 1
12 max-active: 8
13 max-wait: 6000ms
这里我们使用了 jedis 连接池。
3. 创建操作 Redis 的 Service
1@Service
2public class RedisServiceImpl implements RedisService {
3
4 @Autowired
5 private StringRedisTemplate stringRedisTemplate;
6 private Logger logger = LoggerFactory.getLogger(RedisServiceImpl.class);
7
8
9 @Override
10 public void setStr(String key, String value) {
11 logger.info("插入 Redis 数据。入参:key:{},value:{}", key, value);
12 ValueOperations<String, String> operations = stringRedisTemplate.opsForValue();
13 operations.set(key, value);
14 }
15
16 @Override
17 public String getStr(String key) {
18 logger.info("获取 Redis 数据。入参:key:{}", key);
19 ValueOperations<String, String> operations = stringRedisTemplate.opsForValue();
20 String value = operations.get(key);
21 logger.info("获取 Redis 数据。出参:value:{}", value);
22 return value;
23 }
24
25 @Override
26 public void delStr(String key) {
27 logger.info("删除 Redis 数据。入参:key:{}", key);
28 ValueOperations<String, String> operations = stringRedisTemplate.opsForValue();
29 operations.getOperations().delete(key);
30 }
操作 Redis 的主要类是 stringRedisTemplate,这个类可以获取不同类型的 Redis操作对象。
1Stirng 类型:stringRedisTemplate.opsForValue()
2List 类型:stringRedisTemplate.opsForList()
3Set 类型:stringRedisTemplate.opsForSet()
4Hash 类型:stringRedisTemplate.opsForHash()
可以看到,opsForXXX() 不能删除 Redis 中的key,这个时候可以使用下面的方法,获取RedisOperations 对象。通过该对象进行一些 Redis 的操作。
1opsForHash().getOperations().delete(key);
4. 单元测试
我们针对这个 Service 写个单元测试,测试一下
1@RunWith(SpringRunner.class)
2@SpringBootTest()
3public class RedisServiceImplTest {
4 @Autowired
5 private RedisService redisService;
6
7 @Test
8 public void setStr() throws Exception {
9 redisService.setStr("TEST","1234");
10 }
11
12 @Test
13 public void getStr() throws Exception {
14 System.out.println(redisService.getStr("TEST"));
15 }
16
17 @Test
18 public void delStr() throws Exception {
19 redisService.delStr("TEST");
20 }
21}
转载请注明出处
本文链接:zdran.com/20180911.ht…