基于SpringBoot3引入Redis并封装常用的操作RedisUtils
以下是一个简化的RedisUtils
类示例,展示了如何在Spring Boot 3项目中引入Redis并封装常用操作。
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.data.redis.core.RedisTemplate;
import org.springframework.stereotype.Component;
import org.springframework.util.CollectionUtils;
import java.util.Collection;
import java.util.List;
import java.util.Map;
import java.util.Set;
import java.util.concurrent.TimeUnit;
@Component
public class RedisUtils {
@Autowired
private RedisTemplate<String, Object> redisTemplate;
// 存储数据
public void set(String key, Object value) {
redisTemplate.opsForValue().set(key, value);
}
// 存储数据并设置过期时间
public void set(String key, Object value, long timeout, TimeUnit unit) {
redisTemplate.opsForValue().set(key, value, timeout, unit);
}
// 获取数据
public Object get(String key) {
return redisTemplate.opsForValue().get(key);
}
// 删除数据
public void delete(String key) {
redisTemplate.delete(key);
}
// 批量删除数据
public void delete(Collection<String> keys) {
redisTemplate.delete(keys);
}
// 批量获取数据
public List<Object> multiGet(Collection<String> keys) {
return redisTemplate.opsForValue().multiGet(keys);
}
// 判断数据是否存在
public boolean hasKey(String key) {
return redisTemplate.hasKey(key);
}
// 获取过期时间
public Long getExpire(String key) {
return redisTemplate.getExpire(key, TimeUnit.SECONDS);
}
// 设置过期时间
public void setExpire(String key, long timeout, TimeUnit unit) {
redisTemplate.expire(key, timeout, unit);
}
// 自增操作
public Long increment(String key, long delta) {
return redisTemplate.opsForValue().increment(key, delta);
}
// 自减操作
public Long decrement(String key, long delta) {
return redisTemplate.opsForValue().increment(key, -delta);
}
// Hash操作
public void hSet(String key, String hashKey, Object value) {
redisTemplate.opsForHash().put(key, hashKey, value);
}
public Object hGet(String key, String hashKey) {
return redisTemplate.opsForHash().get(key, hashKey);
}
public void hDelete(String ke
评论已关闭