SpringBoot和Redis的交互数据操作 以及 Redis的持久化/删除策略和缓存问题
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.data.redis.core.RedisTemplate;
import org.springframework.data.redis.core.StringRedisTemplate;
import org.springframework.stereotype.Service;
@Service
public class RedisService {
@Autowired
private StringRedisTemplate stringRedisTemplate;
@Autowired
private RedisTemplate<String, Object> redisTemplate;
// 设置字符串值
public void setString(String key, String value) {
stringRedisTemplate.opsForValue().set(key, value);
}
// 获取字符串值
public String getString(String key) {
return stringRedisTemplate.opsForValue().get(key);
}
// 设置对象值
public void setObject(String key, Object value) {
redisTemplate.opsForValue().set(key, value);
}
// 获取对象值
public Object getObject(String key) {
return redisTemplate.opsForValue().get(key);
}
// 删除键
public void deleteKey(String key) {
redisTemplate.delete(key);
}
// 查询键是否存在
public boolean hasKey(String key) {
return redisTemplate.hasKey(key);
}
// 清空所有数据
public void flushDb() {
redisTemplate.getConnectionFactory().getConnection().flushDb();
}
// 设置过期时间
public void expire(String key, long timeout) {
redisTemplate.expire(key, timeout, TimeUnit.SECONDS);
}
}
这个代码示例展示了如何在Spring Boot应用中使用StringRedisTemplate
和RedisTemplate
与Redis进行交互。包括设置字符串、对象,获取字符串、对象,删除键,检查键是否存在,清空所有数据,设置键的过期时间等操作。这些操作是开发者在使用Redis时的常见需求,可以作为参考。
评论已关闭