StringRedisTemplate继承自RedisTemplate,在这里说明一下,当我们使用RedisTemplate往redis中存储java对象的时候,他会顺带着将该java对象的字节码文件也同时存进了内存中,这是为了实现自动反序列化
@Autowired
private StringRedisTemplate redisTemplate;
/**
*存值
*/
redisTemplate.opsForValue().setIfAbsent("123", msg);
/**
*取值
*/
redisTemplate.opsForValue().get("123");
/**
* 判断key是否存在
* 有则返回true,没有则返回false
* @param key
* @return
*/
public boolean exists(String key) {
return template.hasKey(key);
}
/**
* 判断key是否过期
*
* @param key
* @return
*/
public boolean isExpire(String key) {
return expire(key) > 0?false:true;
}
/**
* 从redis中获取key对应的过期时间;
* 如果该值有过期时间,就返回相应的过期时间;
* 如果该值没有设置过期时间,就返回-1;
* 如果没有该值,就返回-2;
* @param key
* @return
*/
public long expire(String key) {
return redisTemplate.opsForValue().getOperations().getExpire(key);
}
/**
*删除key
*/
public void deleteKeys(String keys){
redisTemplate.delete(keys);
}