Redis增删改查封装
发布时间:2020-05-24 22:13:55 所属栏目:Java 来源:互联网
导读:Redis增删改查封装
|
下面是脚本之家 jb51.cc 通过网络收集整理的代码片段。 脚本之家小编现在分享给大家,也给大家做个参考。 import java.util.ArrayList;
import java.util.HashSet;
import java.util.List;
import java.util.Map;
import java.util.Set;
import javax.annotation.PostConstruct;
import javax.annotation.Resource;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.springframework.stereotype.Service;
import redis.clients.jedis.Jedis;
import redis.clients.jedis.JedisSentinelPool;
import redis.clients.jedis.ScanParams;
import redis.clients.jedis.ScanResult;
@Service
public class SentinelJedisUtil {
private static Logger logger = LoggerFactory.getLogger(SentinelJedisUtil.class);
private static SentinelJedisUtil sentinelJedisUtil;
@Resource
private JedisSentinelPool jedisSentinelPool;
@PostConstruct
public void init() {
sentinelJedisUtil = this;
sentinelJedisUtil.jedisSentinelPool = this.jedisSentinelPool;
}
*//**
* 设置一个key的过期时间(单位:秒)
*
* @param key
* key值
* @param seconds
* 多少秒后过期
* @return 1:设置了过期时间 0:没有设置过期时间/不能设置过期时间
*//*
public static long expire(String key,int seconds) {
if (key == null || key.equals("")) {
return 0;
}
Jedis jedis = null;
try {
jedis = sentinelJedisUtil.jedisSentinelPool.getResource();
return jedis.expire(key,seconds);
} catch (Exception ex) {
logger.error("EXPIRE error[key=" + key + " seconds=" + seconds
+ "]" + ex.getMessage(),ex);
returnBrokenResource(jedis);
} finally {
returnResource(jedis);
}
return 0;
}
*//**
* 设置一个key在某个时间点过期
*
* @param key
* key值
* @param unixTimestamp
* unix时间戳,从1970-01-01 00:00:00开始到现在的秒数
* @return 1:设置了过期时间 0:没有设置过期时间/不能设置过期时间
*//*
public static long expireAt(String key,int unixTimestamp) {
if (key == null || key.equals("")) {
return 0;
}
Jedis jedis = null;
try {
jedis = sentinelJedisUtil.jedisSentinelPool.getResource();
return jedis.expireAt(key,unixTimestamp);
} catch (Exception ex) {
logger.error("EXPIRE error[key=" + key + " unixTimestamp="
+ unixTimestamp + "]" + ex.getMessage(),ex);
returnBrokenResource(jedis);
} finally {
returnResource(jedis);
}
return 0;
}
*//**
* 截断一个List
*
* @param key
* 列表key
* @param start
* 开始位置 从0开始
* @param end
* 结束位置
* @return 状态码
*//*
public static String trimList(String key,long start,long end) {
if (key == null || key.equals("")) {
return "-";
}
Jedis jedis = null;
try {
jedis = sentinelJedisUtil.jedisSentinelPool.getResource();
return jedis.ltrim(key,start,end);
} catch (Exception ex) {
logger.error("LTRIM 出错[key=" + key + " start=" + start + " end="
+ end + "]" + ex.getMessage(),ex);
returnBrokenResource(jedis);
} finally {
returnResource(jedis);
}
return "-";
}
*//**
* 检查Set长度
*
* @param key
* @return
*//*
public static long countSet(String key) {
if (key == null) {
return 0;
}
Jedis jedis = null;
try {
jedis = sentinelJedisUtil.jedisSentinelPool.getResource();
return jedis.scard(key);
} catch (Exception ex) {
logger.error("countSet error.",ex);
returnBrokenResource(jedis);
} finally {
returnResource(jedis);
}
return 0;
}
*//**
* 添加到Set中(同时设置过期时间)
*
* @param key
* key值
* @param seconds
* 过期时间 单位s
* @param value
* @return
*//*
public static boolean addSet(String key,int seconds,String... value) {
boolean result = addSet(key,value);
if (result) {
long i = expire(key,seconds);
return i == 1;
}
return false;
}
*//**
* 添加到Set中
*
* @param key
* @param value
* @return
*//*
public static boolean addSet(String key,String... value) {
if (key == null || value == null) {
return false;
}
Jedis jedis = null;
try {
jedis = sentinelJedisUtil.jedisSentinelPool.getResource();
jedis.sadd(key,value);
return true;
} catch (Exception ex) {
logger.error("setList error.",ex);
returnBrokenResource(jedis);
} finally {
returnResource(jedis);
}
return false;
}
*//**
* @param key
* @param value
* @return 判断值是否包含在set中
*//*
public static boolean containsInSet(String key,String value) {
if (key == null || value == null) {
return false;
}
Jedis jedis = null;
try {
jedis = sentinelJedisUtil.jedisSentinelPool.getResource();
return jedis.sismember(key,value);
} catch (Exception ex) {
logger.error("setList error.",ex);
returnBrokenResource(jedis);
} finally {
returnResource(jedis);
}
return false;
}
*//**
* 获取Set
*
* @param key
* @return
*//*
public static Set<String> getSet(String key) {
Jedis jedis = null;
try {
jedis = sentinelJedisUtil.jedisSentinelPool.getResource();
return jedis.smembers(key);
} catch (Exception ex) {
logger.error("getList error.",ex);
returnBrokenResource(jedis);
} finally {
returnResource(jedis);
}
return null;
}
*//**
* 从set中删除value
*
* @param key
* @return
*//*
public static boolean removeSetValue(String key,String... value) {
Jedis jedis = null;
try {
jedis = sentinelJedisUtil.jedisSentinelPool.getResource();
jedis.srem(key,value);
return true;
} catch (Exception ex) {
logger.error("getList error.",ex);
returnBrokenResource(jedis);
} finally {
returnResource(jedis);
}
return false;
}
*//**
* 从list中删除value 默认count 1
*
* @param key
* @param values
* 值list
* @return
*//*
public static int removeListValue(String key,List<String> values) {
return removeListValue(key,1,values);
}
*//**
* 从list中删除value
*
* @param key
* @param count
* @param values
* 值list
* @return
*//*
public static int removeListValue(String key,long count,List<String> values) {
int result = 0;
if (values != null && values.size() > 0) {
for (String value : values) {
if (removeListValue(key,count,value)) {
result++;
}
}
}
return result;
}
*//**
* 从list中删除value
*
* @param key
* @param count
* 要删除个数
* @param value
* @return
*//*
public static boolean removeListValue(String key,String value) {
Jedis jedis = null;
try {
jedis = sentinelJedisUtil.jedisSentinelPool.getResource();
jedis.lrem(key,ex);
returnBrokenResource(jedis);
} finally {
returnResource(jedis);
}
return false;
}
*//**
* 截取List
*
* @param key
* @param start
* 起始位置
* @param end
* 结束位置
* @return
*//*
public static List<String> rangeList(String key,long end) {
if (key == null || key.equals("")) {
return null;
}
Jedis jedis = null;
try {
jedis = sentinelJedisUtil.jedisSentinelPool.getResource();
return jedis.lrange(key,end);
} catch (Exception ex) {
logger.error("rangeList 出错[key=" + key + " start=" + start
+ " end=" + end + "]" + ex.getMessage(),ex);
returnBrokenResource(jedis);
} finally {
returnResource(jedis);
}
return null;
}
*//**
* 检查List长度
*
* @param key
* @return
*//*
public static long countList(String key) {
if (key == null) {
return 0;
}
Jedis jedis = null;
try {
jedis = sentinelJedisUtil.jedisSentinelPool.getResource();
return jedis.llen(key);
} catch (Exception ex) {
logger.error("countList error.",ex);
returnBrokenResource(jedis);
} finally {
returnResource(jedis);
}
return 0;
}
*//**
* 添加到List中(同时设置过期时间)
*
* @param key
* key值
* @param seconds
* 过期时间 单位s
* @param value
* @return
*//*
public static boolean addList(String key,String... value) {
boolean result = addList(key,seconds);
return i == 1;
}
return false;
}
*//**
* 添加到List
*
* @param key
* @param value
* @return
*//*
public static boolean addList(String key,String... value) {
if (key == null || value == null) {
return false;
}
Jedis jedis = null;
try {
jedis = sentinelJedisUtil.jedisSentinelPool.getResource();
jedis.lpush(key,ex);
returnBrokenResource(jedis);
} finally {
returnResource(jedis);
}
return false;
}
*//**
* 添加到List(只新增)
*
* @param key
* @param value
* @return
*//*
public static boolean addList(String key,List<String> list) {
if (key == null || list == null || list.size() == 0) {
return false;
}
for (String value : list) {
addList(key,value);
}
return true;
}
*//**
* 获取List
*
* @param key
* @return
*//*
public static List<String> getList(String key) {
Jedis jedis = null;
try {
jedis = sentinelJedisUtil.jedisSentinelPool.getResource();
return jedis.lrange(key,-1);
} catch (Exception ex) {
logger.error("getList error.",ex);
returnBrokenResource(jedis);
} finally {
returnResource(jedis);
}
return null;
}
*//**
* 设置HashSet对象
*
* @param domain
* 域名
* @param key
* 键值
* @param value
* Json String or String value
* @return
*//*
public static boolean setHSet(String domain,String key,String value) {
if (value == null)
return false;
Jedis jedis = null;
try {
jedis = sentinelJedisUtil.jedisSentinelPool.getResource();
jedis.hset(domain,key,value);
return true;
} catch (Exception ex) {
logger.error("setHSet error.",ex);
returnBrokenResource(jedis);
} finally {
returnResource(jedis);
}
return false;
}
*//**
* 获得HashSet对象
*
* @param domain
* 域名
* @param key
* 键值
* @return Json String or String value
*//*
public static String getHSet(String domain,String key) {
Jedis jedis = null;
try {
jedis = sentinelJedisUtil.jedisSentinelPool.getResource();
return jedis.hget(domain,key);
} catch (Exception ex) {
logger.error("getHSet error.",ex);
returnBrokenResource(jedis);
} finally {
returnResource(jedis);
}
return null;
}
*//**
* 删除HashSet对象
*
* @param domain
* 域名
* @param key
* 键值
* @return 删除的记录数
*//*
public static long delHSet(String domain,String key) {
Jedis jedis = null;
long count = 0;
try {
jedis = sentinelJedisUtil.jedisSentinelPool.getResource();
count = jedis.hdel(domain,key);
} catch (Exception ex) {
logger.error("delHSet error.",ex);
returnBrokenResource(jedis);
} finally {
returnResource(jedis);
}
return count;
}
*//**
* 删除HashSet对象
*
* @param domain
* 域名
* @param key
* 键值
* @return 删除的记录数
*//*
public static long delHSet(String domain,String... key) {
Jedis jedis = null;
long count = 0;
try {
jedis = sentinelJedisUtil.jedisSentinelPool.getResource();
count = jedis.hdel(domain,ex);
returnBrokenResource(jedis);
} finally {
returnResource(jedis);
}
return count;
}
*//**
* 判断key是否存在
*
* @param domain
* 域名
* @param key
* 键值
* @return
*//*
public static boolean existsHSet(String domain,String key) {
Jedis jedis = null;
boolean isExist = false;
try {
jedis = sentinelJedisUtil.jedisSentinelPool.getResource();
isExist = jedis.hexists(domain,key);
} catch (Exception ex) {
logger.error("existsHSet error.",ex);
returnBrokenResource(jedis);
} finally {
returnResource(jedis);
}
return isExist;
}
*//**
* 全局扫描hset
*
* @param match
* field匹配模式
* @return
*//*
public static List<Map.Entry<String,String>> scanHSet(String domain,String match) {
Jedis jedis = null;
try {
int cursor = 0;
jedis = sentinelJedisUtil.jedisSentinelPool.getResource();
ScanParams scanParams = new ScanParams();
scanParams.match(match);
ScanResult<Map.Entry<String,String>> scanResult;
List<Map.Entry<String,String>> list = new ArrayList<Map.Entry<String,String>>();
do {
scanResult = jedis.hscan(domain,String.valueOf(cursor),scanParams);
list.addAll(scanResult.getResult());
cursor = Integer.parseInt(scanResult.getStringCursor());
} while (cursor > 0);
return list;
} catch (Exception ex) {
logger.error("scanHSet error.",ex);
returnBrokenResource(jedis);
} finally {
returnResource(jedis);
}
return null;
}
*//**
* 全局扫描hset
*
* @param match
* field匹配模式
* @return
*//*
public static Set<String> scan(
String match) {
Jedis jedis = null;
try {
int cursor = 0;
jedis = sentinelJedisUtil.jedisSentinelPool.getResource();
ScanParams scanParams = new ScanParams();
scanParams.match(match);
ScanResult<String> scanResult;
Set<String> retSet = new HashSet<String>();
do {
scanResult = jedis.scan(String.valueOf(cursor),scanParams);
retSet.addAll(scanResult.getResult());
cursor = Integer.parseInt(scanResult.getStringCursor());
} while (cursor > 0);
return retSet;
} catch (Exception ex) {
logger.error("scanHSet error.",ex);
returnBrokenResource(jedis);
} finally {
returnResource(jedis);
}
return null;
}
*//**
* 返回 domain 指定的哈希集中所有字段的value值
*
* @param domain
* @return
*//*
public static List<String> hvals(String domain) {
Jedis jedis = null;
List<String> retList = null;
try {
jedis = sentinelJedisUtil.jedisSentinelPool.getResource();
retList = jedis.hvals(domain);
} catch (Exception ex) {
logger.error("hvals error.",ex);
returnBrokenResource(jedis);
} finally {
returnResource(jedis);
}
return retList;
}
*//**
* 返回 domain 指定的哈希集中所有字段的key值
*
* @param domain
* @return
*//*
public static Set<String> hkeys(String domain) {
Jedis jedis = null;
Set<String> retList = null;
try {
jedis = sentinelJedisUtil.jedisSentinelPool.getResource();
retList = jedis.hkeys(domain);
} catch (Exception ex) {
logger.error("hkeys error.",ex);
returnBrokenResource(jedis);
} finally {
returnResource(jedis);
}
return retList;
}
*//**
* 返回 domain 指定的哈希key值总数
*
* @param domain
* @return
*//*
public static long lenHset(String domain) {
Jedis jedis = null;
long retList = 0;
try {
jedis = sentinelJedisUtil.jedisSentinelPool.getResource();
retList = jedis.hlen(domain);
} catch (Exception ex) {
logger.error("hkeys error.",ex);
returnBrokenResource(jedis);
} finally {
returnResource(jedis);
}
return retList;
}
*//**
* 设置排序集合
*
* @param key
* @param score
* @param value
* @return
*//*
public static boolean setSortedSet(String key,long score,String value) {
Jedis jedis = null;
try {
jedis = sentinelJedisUtil.jedisSentinelPool.getResource();
jedis.zadd(key,score,value);
return true;
} catch (Exception ex) {
logger.error("setSortedSet error.",ex);
returnBrokenResource(jedis);
} finally {
returnResource(jedis);
}
return false;
}
*//**
* 获得排序集合
*
* @param key
* @param startScore
* @param endScore
* @param orderByDesc
* @return
*//*
public static Set<String> getSoredSet(String key,long startScore,long endScore,boolean orderByDesc) {
Jedis jedis = null;
try {
jedis = sentinelJedisUtil.jedisSentinelPool.getResource();
if (orderByDesc) {
return jedis.zrevrangeByScore(key,endScore,startScore);
} else {
return jedis.zrangeByScore(key,startScore,endScore);
}
} catch (Exception ex) {
logger.error("getSoredSet error.",ex);
returnBrokenResource(jedis);
} finally {
returnResource(jedis);
}
return null;
}
*//**
* 计算排序长度
*
* @param key
* @param startScore
* @param endScore
* @return
*//*
public static long countSoredSet(String key,long endScore) {
Jedis jedis = null;
try {
jedis = sentinelJedisUtil.jedisSentinelPool.getResource();
Long count = jedis.zcount(key,endScore);
return count == null ? 0L : count;
} catch (Exception ex) {
logger.error("countSoredSet error.",ex);
returnBrokenResource(jedis);
} finally {
returnResource(jedis);
}
return 0L;
}
*//**
* 删除排序集合
*
* @param key
* @param value
* @return
*//*
public static boolean delSortedSet(String key,String value) {
Jedis jedis = null;
try {
jedis = sentinelJedisUtil.jedisSentinelPool.getResource();
long count = jedis.zrem(key,value);
return count > 0;
} catch (Exception ex) {
logger.error("delSortedSet error.",ex);
returnBrokenResource(jedis);
} finally {
returnResource(jedis);
}
return false;
}
*//**
* 获得排序集合
*
* @param key
* @param startRange
* @param endRange
* @param orderByDesc
* @return
*//*
public static Set<String> getSoredSetByRange(String key,int startRange,int endRange,boolean orderByDesc) {
Jedis jedis = null;
try {
jedis = sentinelJedisUtil.jedisSentinelPool.getResource();
if (orderByDesc) {
return jedis.zrevrange(key,startRange,endRange);
} else {
return jedis.zrange(key,endRange);
}
} catch (Exception ex) {
logger.error("getSoredSetByRange error.",ex);
returnBrokenResource(jedis);
} finally {
returnResource(jedis);
}
return null;
}
*//**
* 获得排序打分
*
* @param key
* @return
*//*
public static Double getScore(String key,String member) {
Jedis jedis = null;
try {
jedis = sentinelJedisUtil.jedisSentinelPool.getResource();
return jedis.zscore(key,member);
} catch (Exception ex) {
logger.error("getSoredSet error.",ex);
returnBrokenResource(jedis);
} finally {
returnResource(jedis);
}
return null;
}
public static boolean set(String key,String value,int second) {
Jedis jedis = null;
try {
jedis = sentinelJedisUtil.jedisSentinelPool.getResource();
jedis.setex(key,second,value);
return true;
} catch (Exception ex) {
logger.error("set error.",ex);
returnBrokenResource(jedis);
} finally {
returnResource(jedis);
}
return false;
}
public static boolean set(String key,String value) {
Jedis jedis = null;
try {
jedis = sentinelJedisUtil.jedisSentinelPool.getResource();
jedis.set(key,ex);
returnBrokenResource(jedis);
} finally {
returnResource(jedis);
}
return false;
}
public static String get(String key,String defaultValue) {
Jedis jedis = null;
try {
jedis = sentinelJedisUtil.jedisSentinelPool.getResource();
return jedis.get(key) == null ? defaultValue : jedis
.get(key);
} catch (Exception ex) {
logger.error("get error.",ex);
returnBrokenResource(jedis);
} finally {
returnResource(jedis);
}
return defaultValue;
}
public static String get(String key) {
Jedis jedis = null;
try {
jedis = sentinelJedisUtil.jedisSentinelPool.getResource();
return jedis.get(key);
} catch (Exception ex) {
logger.error("get error.",ex);
returnBrokenResource(jedis);
} finally {
returnResource(jedis);
}
return null;
}
public static boolean del(String key) {
Jedis jedis = null;
try {
jedis = sentinelJedisUtil.jedisSentinelPool.getResource();
jedis.del(key);
return true;
} catch (Exception ex) {
logger.error("del error.",ex);
returnBrokenResource(jedis);
} finally {
returnResource(jedis);
}
return false;
}
public static long incr(String key) {
Jedis jedis = null;
try {
jedis = sentinelJedisUtil.jedisSentinelPool.getResource();
return jedis.incr(key);
} catch (Exception ex) {
logger.error("incr error.",ex);
returnBrokenResource(jedis);
} finally {
returnResource(jedis);
}
return 0;
}
public static long decr(String key) {
Jedis jedis = null;
try {
jedis = sentinelJedisUtil.jedisSentinelPool.getResource();
return jedis.decr(key);
} catch (Exception ex) {
logger.error("incr error.",ex);
returnBrokenResource(jedis);
} finally {
returnResource(jedis);
}
return 0;
}
private static void returnBrokenResource(Jedis jedis) {
try {
sentinelJedisUtil.jedisSentinelPool.returnBrokenResource(jedis);
} catch (Exception e) {
logger.error("returnBrokenResource error.",e);
}
}
private static void returnResource(Jedis jedis) {
try {
sentinelJedisUtil.jedisSentinelPool.returnResource(jedis);
} catch (Exception e) {
logger.error("returnResource error.",e);
}
}
以上是脚本之家(jb51.cc)为你收集整理的全部代码内容,希望文章能够帮你解决所遇到的程序开发问题。 如果觉得脚本之家网站内容还不错,欢迎将脚本之家网站推荐给程序员好友。 (编辑:安卓应用网) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |
