导入maven依赖
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-data-redis</artifactId>
</dependency>
<dependency>
<groupId>org.apache.commons</groupId>
<artifactId>commons-pool2</artifactId>
</dependency>
Spring Boot 1.0 默认使用的是 Jedis 客户端,2.0 替换成 Lettuce
两者都是来操作redis的
Lettuce 基于 Netty 的连接实例(StatefulRedisConnection),可以在多个线程间并发访问,且线程安全,满足多线程环境下的并发访问,同时它是可伸缩的设计,一个连接实例不够的情况也可以按需增加连接实例。
在springboot中添加启动项配置(yml或properties)
创建对象
@Autowired
RedisTemplate 对象名
设置无期限
//写入缓存永不过期
public boolean set(String key,String value){
boolean result = false;
try {
redisTemplate.opsForValue().set(key,value);
result = true;
} catch (Exception e) {
e.printStackTrace();
}
return result;
}
设置有期限
//写入缓存,设置过期时间,单位时毫秒
public boolean set(String key,String value,Long expire){
boolean result = false;
try {
redisTemplate.opsForValue().set(key,value,expire, TimeUnit.MILLISECONDS);
result = true;
} catch (Exception e) {
e.printStackTrace();
}
return result;
}
根据key查询value
public String get(String key){
if(redisTemplate.hasKey(key)){
return redisTemplate.opsForValue().get(key);
}
return null;
}
根据key获取存活期
public long getExpire(String key){
return redisTemplate.getExpire(key);
}
根据key删除数据
public Boolean delete(String key){
return redisTemplate.delete(key);
}