中文字幕在线观看,亚洲а∨天堂久久精品9966,亚洲成a人片在线观看你懂的,亚洲av成人片无码网站,亚洲国产精品无码久久久五月天

Redis增刪改查封裝

2018-07-20    來源:open-open

容器云強勢上線!快速搭建集群,上萬Linux鏡像隨意使用
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 狀態(tài)碼
 *//*
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, long count, String value) {
Jedis jedis = null;
try {
jedis = sentinelJedisUtil.jedisSentinelPool.getResource();
jedis.lrem(key, count, value);
return true;
} catch (Exception ex) {
logger.error("getList error.", ex);
returnBrokenResource(jedis);
} finally {
returnResource(jedis);
}
return false;
}
*//**
 * 截取List
 * 
 * @param key
 * @param start
 *            起始位置
 * @param end
 *            結束位置
 * @return
 *//*
public static List<String> rangeList(String key, long start, long end) {
if (key == null || key.equals("")) {
return null;
}
Jedis jedis = null;
try {
jedis = sentinelJedisUtil.jedisSentinelPool.getResource();
return jedis.lrange(key, start, 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, int seconds, String... value) {
boolean result = addList(key, value);
if (result) {
long i = expire(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, value);
return true;
} catch (Exception ex) {
logger.error("setList error.", 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, 0, -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, key);
} catch (Exception ex) {
logger.error("delHSet error.", 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 startScore, long endScore) {
Jedis jedis = null;
try {
jedis = sentinelJedisUtil.jedisSentinelPool.getResource();
Long count = jedis.zcount(key, startScore, 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, startRange, 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, value);
return true;
} catch (Exception ex) {
logger.error("set error.", 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);
}
}

標簽: 域名

版權申明:本站文章部分自網絡,如有侵權,請聯系:west999com@outlook.com
特別注意:本站所有轉載文章言論不代表本站觀點!
本站所提供的圖片等素材,版權歸原作者所有,如需使用,請與原作者聯系。

上一篇:java實現排序算法:插入排序、選擇排序、冒泡排序

下一篇:Python 字符串操作(string替換、刪除、截取、復制、連接、比較、查找、包含、大小寫轉換