import com.alibaba.fastjson.JSON;
import com.alibaba.fastjson.parser.Feature;
import org.apache.commons.lang3.StringUtils;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.springframework.stereotype.Component;
import redis.clients.jedis.JedisCluster;
import javax.annotation.Resource;
import java.lang.reflect.Type;
import java.util.Map;
@Component
public class RedisUtil{
private static final Logger log = LoggerFactory.getLogger(GG.class);
@Resource
private JedisCluster jedisCluster;
public static final int DEFAULT_EXPIRE_TIME = 3600;
public RedisUtil() {
}
public boolean set(String key, String value) {
boolean result = false;
try {
this.jedisCluster.set(key, value);
result = true;
} catch (Exception var5) {
log.error("保存数据异常,key:{},value:{}", new Object[]{key, value});
}
return result;
}
public boolean set(String key, String value, int expireTime) {
boolean result = false;
try {
this.jedisCluster.setex(key, expireTime, value);
result = true;
} catch (Exception var6) {
log.error("保存数据异常,key:{},value:{},expireTime:{}", new Object[]{key, value, expireTime});
}
return result;
}
public String get(String key) {
String result = null;
try {
result = this.jedisCluster.get(key);
} catch (Exception var4) {
log.error("获取数据异常,key:{}", new Object[]{key}, var4);
}
return result;
}
public boolean exists(String key) {
return this.jedisCluster.exists(key);
}
public long incr(String key) {
return this.jedisCluster.incr(key);
}
public long incrBy(String key, long skip) {
return this.jedisCluster.incrBy(key, skip);
}
public void remove(String key) {
if (this.exists(key)) {
this.jedisCluster.del(key);
}
}
public boolean hSet(String key, String field, String value) {
boolean result = false;
try {
this.jedisCluster.hset(key, field, value);
result = true;
} catch (Exception var6) {
log.error("保存数据异常,key:{},value:{}", new Object[]{key, JSON.toJSONString(value)});
}
return result;
}
public void hset(String key, String field, Object value, int seconds) {
this.jedisCluster.hset(key, field, JSON.toJSONString(value));
if (seconds > 0) {
this.jedisCluster.expire(key, seconds);
}
}
public <T> T hget(String key, String field, Type type) {
String v = this.jedisCluster.hget(key, field);
return StringUtils.isNotEmpty(v) ? JSON.parseObject(v, type, new Feature[0]) : null;
}
public String hGet(String key, String field) {
String result = null;
try {
result = this.jedisCluster.hget(key, field);
} catch (Exception var5) {
log.error("获取map信息错误,key:{},field:{}", new Object[]{key, field}, var5);
}
return result;
}
public Map<String, String> hGetAll(String key) {
Map result = null;
try {
result = this.jedisCluster.hgetAll(key);
} catch (Exception var4) {
log.error("获取map信息错误,key:{}", key, var4);
}
return result;
}
public long hDel(String key, String field) {
return this.jedisCluster.hdel(key, field);
}
public boolean hExists(String key, String field) {
return this.jedisCluster.hexists(key, field);
}
public void sadd(String key, String value) {
this.jedisCluster.sadd(key, new String[]{value});
}
public boolean sismember(String key, String member) {
return this.jedisCluster.sismember(key, member);
}
public void srem(String key, String member) {
this.jedisCluster.srem(key, new String[]{member});
}
public void expireAt(String key, Long time) {
this.jedisCluster.expireAt(key, time);
}
public void expire(String key, int second) {
this.jedisCluster.expire(key, second);
}
}
Redis工具类
最新推荐文章于 2024-04-29 20:00:00 发布