SpringBoot整合Redis
1、SpringBoot为操作redis准备了两个可以使用的工具类:
StringRedisTemplate和RedisTemplate:
(1)StringRedisTemplate是RedisTemplate的子类
(2)StringRedisTemplate泛型以及value都是String类型的。而RedisTemplate的key以及value的泛型是object类型的。
引入依赖:
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-data-redis</artifactId>
</dependency>
1.1、使用StringRedisTemplate工具类
(1)application.properties中配置:StringRedisTemplate类中的方法名以及用法与redis中基本相同,使用可参考:http://redisdoc.com/
#redis所在的IP地址
spring.redis.host=192.168.31.166
#redis的端口号
spring.redis.port=6379
#最大连接数
spring.redis.jedis.pool.max-active=20
#最大空闲数
spring.redis.jedis.pool.max-idle=8
#最小空闲数
spring.redis.jedis.pool.min-idle=0
#最大等待时间
spring.redis.jedis.pool.max-wait=20000
(2)编写测试类进行测试:
@SpringBootTest
class SpringbootRedis01ApplicationTests {
@Resource
private StringRedisTemplate stringRedisTemplate;
/**
* 对key的操作
**/
@Test
void contextLoads() {
System.out.println(stringRedisTemplate.keys("*"));
stringRedisTemplate.expire("k1",12, TimeUnit.SECONDS);
System.out.println(stringRedisTemplate.getExpire("k1"));
stringRedisTemplate.delete("k10");
System.out.println(stringRedisTemplate.keys("*"));
}
/**
* String类型的
* */
@Test
public void Test(){
ValueOperations<String, String> ops = stringRedisTemplate.opsForValue();
ops.set("k1","nihao");
ops.set("k2","15");
HashMap<String, String> map = new HashMap<>();
map.put("k3","1215");
map.put("k4","yangkeke");
ops.multiSet(map);
ops.set("k6","v6",15,TimeUnit.SECONDS);
System.out.println("k6的存活时间"+stringRedisTemplate.keys("*"));
System.out.println("k6的存活时间"+stringRedisTemplate.getExpire("k6"));