springboot整合redis及常用api

springboot整合redis

导入依赖

<dependency>
   <groupId>org.springframework.boot</groupId>
   <artifactId>spring-boot-starter-data-redis</artifactId>
</dependency>

redis配置文件 yaml

spring:
  redis:
    host: 127.0.0.1
    port: 6379
    jedis:
      pool:
        max-active: 8
        max-wait: -1
        max-idle: 500
        min-idle: 0
    lettuce:
      shutdown-timeout: 0
    timeout: 5000
    #若redis未设置密码,此项不填
    password: root

测试代码:

@RunWith(SpringRunner.class)
@SpringBootTest
class DemoApplicationTests {

    @Autowired
    private RedisTemplate<String, String> redisTemplate;

    @Test
    public void set() {
        redisTemplate.opsForValue().set("myKey", "myValue");
        System.out.println(redisTemplate.opsForValue().get("myKey"));
    }

测试成功

springboot整合redis及常用api_第1张图片
springboot整合redis及常用api_第2张图片

遇到的问题:

若在单元测试中使用多线程进行测试,其不管子线程有没有结束,只要主线程结束,就会强制子线程退出,导致大批量报错:
springboot整合redis及常用api_第3张图片
解决办法:使用countDownLatch线程计数器处理,等待子线程全部执行完毕后,再往后执行。
springboot整合redis及常用api_第4张图片

RedisTemplate常用api:

springboot整合redis及常用api_第5张图片

你可能感兴趣的:(springboot整合redis及常用api)