From 72f2f59ae69d4f64ef2bd0b4d505a759bd96a610 Mon Sep 17 00:00:00 2001 From: chenjiahe <763432473@qq.com> Date: 星期二, 28 六月 2022 10:34:47 +0800 Subject: [PATCH] 新增Redis可以切换数据库 --- src/main/java/com/hx/redis/templates/config/RedisTempsUtil.java | 886 +++++++++++++++++++++++++++++++++++++++++++++++++--------- 1 files changed, 742 insertions(+), 144 deletions(-) diff --git a/src/main/java/com/hx/redis/templates/config/RedisTempsUtil.java b/src/main/java/com/hx/redis/templates/config/RedisTempsUtil.java index 0b38bb4..1d63185 100644 --- a/src/main/java/com/hx/redis/templates/config/RedisTempsUtil.java +++ b/src/main/java/com/hx/redis/templates/config/RedisTempsUtil.java @@ -41,17 +41,36 @@ /** * 鎸囧畾缂撳瓨澶辨晥鏃堕棿 - * * @param key 閿� * @param time 鏃堕棿(绉�) * @return */ public boolean expire(String key, long time) { try { - if (time > 0) { - redisTemplate.expire(key, time, TimeUnit.SECONDS); + if (time < 0) { + throw new RuntimeException("璁剧疆鏃堕棿涓嶈兘涓鸿礋鏁帮細"+time); } return true; + } catch (Exception e) { + e.printStackTrace(); + return false; + } + } + + /** + * 鎸囧畾缂撳瓨澶辨晥鏃堕棿 + * + * @param key 閿� + * @param time 鏃堕棿(绉�) + * @return + */ + public boolean expire(String key, long time,int db) { + try { + if (time < 0) { + throw new RuntimeException("璁剧疆鏃堕棿涓嶈兘涓鸿礋鏁帮細"+time); + } + RedisTemplate redisTemplate = redisManager.getRedisTemplate(db); + return redisTemplate.expire(key, time, TimeUnit.SECONDS); } catch (Exception e) { e.printStackTrace(); return false; @@ -69,10 +88,31 @@ */ public boolean expire(String key, long time, TimeUnit timeUnit) { try { - if (time > 0) { - redisTemplate.expire(key, time, timeUnit); + if (time < 0) { + throw new RuntimeException("璁剧疆鏃堕棿涓嶈兘涓鸿礋鏁帮細"+time); } return true; + } catch (Exception e) { + e.printStackTrace(); + return false; + } + } + + /** + * 鎸囧畾缂撳瓨澶辨晥鏃堕棿 + * + * @param key 閿� + * @param time 鏃堕棿 + * @param timeUnit 鏃堕棿绫诲瀷 + * @return + */ + public boolean expire(String key, long time, TimeUnit timeUnit,int db) { + try { + if (time < 0) { + throw new RuntimeException("璁剧疆鏃堕棿涓嶈兘涓鸿礋鏁帮細"+time); + } + RedisTemplate redisTemplate = redisManager.getRedisTemplate(db); + return redisTemplate.expire(key, time, timeUnit); } catch (Exception e) { e.printStackTrace(); return false; @@ -89,6 +129,19 @@ return redisTemplate.getExpire(key, TimeUnit.SECONDS); } + + /** + * 鏍规嵁key 鑾峰彇杩囨湡鏃堕棿 + * + * @param key 閿� 涓嶈兘涓簄ull + * @return 鏃堕棿(绉�) 杩斿洖0浠h〃涓烘案涔呮湁鏁� + */ + public long getExpire(String key,int db) { + RedisTemplate redisTemplate = redisManager.getRedisTemplate(db); + return redisTemplate.getExpire(key, TimeUnit.SECONDS); + } + + /** * 鍒ゆ柇key鏄惁瀛樺湪 * @@ -97,6 +150,22 @@ */ public boolean hasKey(String key) { try { + return redisTemplate.hasKey(key); + } catch (Exception e) { + e.printStackTrace(); + return false; + } + } + + /** + * 鍒ゆ柇key鏄惁瀛樺湪 + * + * @param key 閿� + * @return true 瀛樺湪 false涓嶅瓨鍦� + */ + public boolean hasKey(String key,int db) { + try { + RedisTemplate redisTemplate = redisManager.getRedisTemplate(db); return redisTemplate.hasKey(key); } catch (Exception e) { e.printStackTrace(); @@ -120,6 +189,23 @@ } } + /** + * 鍒犻櫎缂撳瓨 + * + * @param key 鍙互浼犱竴涓�� 鎴栧涓� + */ + @SuppressWarnings("unchecked") + public void del(int db,String... key) { + if (key != null && key.length > 0) { + RedisTemplate redisTemplate = redisManager.getRedisTemplate(db); + if (key.length == 1) { + redisTemplate.delete(key[0]); + } else { + redisTemplate.delete(CollectionUtils.arrayToList(key)); + } + } + } + // ============================String============================= /** @@ -129,6 +215,17 @@ * @return 鍊� */ public Object get(String key) { + return key == null ? null : redisTemplate.opsForValue().get(key); + } + + /** + * 鏅�氱紦瀛樿幏鍙� + * + * @param key 閿� + * @return 鍊� + */ + public Object get(String key,int db) { + RedisTemplate redisTemplate = redisManager.getRedisTemplate(db); return key == null ? null : redisTemplate.opsForValue().get(key); } @@ -149,7 +246,6 @@ } } - /** * 鏅�氱紦瀛樻斁鍏� @@ -194,6 +290,29 @@ } /** + * 鏅�氱紦瀛樻斁鍏ュ苟璁剧疆鏃堕棿 + * + * @param key 閿� + * @param value 鍊� + * @param time 鏃堕棿(绉�) time瑕佸ぇ浜�0 濡傛灉time灏忎簬绛変簬0 灏嗚缃棤闄愭湡 + * @return true鎴愬姛 false 澶辫触 + */ + public boolean set(String key, Object value, long time,int db) { + try { + if (time > 0) { + RedisTemplate redisTemplate = redisManager.getRedisTemplate(db); + redisTemplate.opsForValue().set(key, value, time, TimeUnit.SECONDS); + } else { + set(key, value,db); + } + return true; + } catch (Exception e) { + e.printStackTrace(); + return false; + } + } + + /** * 鏅�氱紦瀛樻斁鍏ュ苟璁剧疆鏃堕棿锛屽苟澧炲姞鏃堕棿绫诲瀷閫夋嫨 * * @param key 閿� @@ -217,6 +336,30 @@ } /** + * 鏅�氱紦瀛樻斁鍏ュ苟璁剧疆鏃堕棿锛屽苟澧炲姞鏃堕棿绫诲瀷閫夋嫨 + * + * @param key 閿� + * @param value 鍊� + * @param time 鏃堕棿 time瑕佸ぇ浜�0 濡傛灉time灏忎簬绛変簬0 灏嗚缃棤闄愭湡 + * @param timeUnit 鏃堕棿绫诲瀷 + * @return + */ + public boolean set(String key, Object value, long time, TimeUnit timeUnit,int db) { + try { + if (time > 0) { + RedisTemplate redisTemplate = redisManager.getRedisTemplate(db); + redisTemplate.opsForValue().set(key, value, time, timeUnit); + } else { + set(key, value,db); + } + return true; + } catch (Exception e) { + e.printStackTrace(); + return false; + } + } + + /** * 閫掑 * * @param key 閿� @@ -227,6 +370,21 @@ if (delta < 0) { throw new RuntimeException("閫掑鍥犲瓙蹇呴』澶т簬0"); } + return redisTemplate.opsForValue().increment(key, delta); + } + + /** + * 閫掑 + * + * @param key 閿� + * @param delta 瑕佸鍔犲嚑(澶т簬0) + * @return + */ + public long incr(String key, long delta,int db) { + if (delta < 0) { + throw new RuntimeException("閫掑鍥犲瓙蹇呴』澶т簬0"); + } + RedisTemplate redisTemplate = redisManager.getRedisTemplate(db); return redisTemplate.opsForValue().increment(key, delta); } @@ -244,6 +402,21 @@ return redisTemplate.opsForValue().increment(key, -delta); } + /** + * 閫掑噺 + * + * @param key 閿� + * @param delta 瑕佸噺灏戝嚑(灏忎簬0) + * @return + */ + public long decr(String key, long delta,int db) { + if (delta < 0) { + throw new RuntimeException("閫掑噺鍥犲瓙蹇呴』澶т簬0"); + } + RedisTemplate redisTemplate = redisManager.getRedisTemplate(db); + return redisTemplate.opsForValue().increment(key, -delta); + } + // ================================Map================================= /** @@ -258,6 +431,18 @@ } /** + * HashGet + * + * @param key 閿� 涓嶈兘涓簄ull + * @param item 椤� 涓嶈兘涓簄ull + * @return 鍊� + */ + public Object hget(String key, String item,int db) { + RedisTemplate redisTemplate = redisManager.getRedisTemplate(db); + return redisTemplate.opsForHash().get(key, item); + } + + /** * 鑾峰彇hashKey瀵瑰簲鐨勬墍鏈夐敭鍊� * * @param key 閿� @@ -268,6 +453,18 @@ } /** + * 鑾峰彇hashKey瀵瑰簲鐨勬墍鏈夐敭鍊� + * + * @param key 閿� + * @return 瀵瑰簲鐨勫涓敭鍊� + */ + public Map<Object, Object> hmget(String key,int db) { + RedisTemplate redisTemplate = redisManager.getRedisTemplate(db); + return redisTemplate.opsForHash().entries(key); + } + + + /** * HashSet * * @param key 閿� @@ -276,6 +473,24 @@ */ public boolean hmset(String key, Map<String, Object> map) { try { + redisTemplate.opsForHash().putAll(key, map); + return true; + } catch (Exception e) { + e.printStackTrace(); + return false; + } + } + + /** + * HashSet + * + * @param key 閿� + * @param map 瀵瑰簲澶氫釜閿�� + * @return true 鎴愬姛 false 澶辫触 + */ + public boolean hmset(String key, Map<String, Object> map,int db) { + try { + RedisTemplate redisTemplate = redisManager.getRedisTemplate(db); redisTemplate.opsForHash().putAll(key, map); return true; } catch (Exception e) { @@ -297,6 +512,28 @@ redisTemplate.opsForHash().putAll(key, map); if (time > 0) { expire(key, time); + } + return true; + } catch (Exception e) { + e.printStackTrace(); + return false; + } + } + + /** + * HashSet 骞惰缃椂闂� + * + * @param key 閿� + * @param map 瀵瑰簲澶氫釜閿�� + * @param time 鏃堕棿(绉�) + * @return true鎴愬姛 false澶辫触 + */ + public boolean hmset(String key, Map<String, Object> map, long time,int db) { + try { + RedisTemplate redisTemplate = redisManager.getRedisTemplate(db); + redisTemplate.opsForHash().putAll(key, map); + if (time > 0) { + expire(key, time,db); } return true; } catch (Exception e) { @@ -329,6 +566,25 @@ * @param key 閿� * @param item 椤� * @param value 鍊� + * @return true 鎴愬姛 false澶辫触 + */ + public boolean hset(String key, String item, Object value,int db) { + try { + RedisTemplate redisTemplate = redisManager.getRedisTemplate(db); + redisTemplate.opsForHash().put(key, item, value); + return true; + } catch (Exception e) { + e.printStackTrace(); + return false; + } + } + + /** + * 鍚戜竴寮爃ash琛ㄤ腑鏀惧叆鏁版嵁,濡傛灉涓嶅瓨鍦ㄥ皢鍒涘缓 + * + * @param key 閿� + * @param item 椤� + * @param value 鍊� * @param time 鏃堕棿(绉�) 娉ㄦ剰:濡傛灉宸插瓨鍦ㄧ殑hash琛ㄦ湁鏃堕棿,杩欓噷灏嗕細鏇挎崲鍘熸湁鐨勬椂闂� * @return true 鎴愬姛 false澶辫触 */ @@ -337,6 +593,29 @@ redisTemplate.opsForHash().put(key, item, value); if (time > 0) { expire(key, time); + } + return true; + } catch (Exception e) { + e.printStackTrace(); + return false; + } + } + + /** + * 鍚戜竴寮爃ash琛ㄤ腑鏀惧叆鏁版嵁,濡傛灉涓嶅瓨鍦ㄥ皢鍒涘缓 + * + * @param key 閿� + * @param item 椤� + * @param value 鍊� + * @param time 鏃堕棿(绉�) 娉ㄦ剰:濡傛灉宸插瓨鍦ㄧ殑hash琛ㄦ湁鏃堕棿,杩欓噷灏嗕細鏇挎崲鍘熸湁鐨勬椂闂� + * @return true 鎴愬姛 false澶辫触 + */ + public boolean hset(String key, String item, Object value, long time,int db) { + try { + RedisTemplate redisTemplate = redisManager.getRedisTemplate(db); + redisTemplate.opsForHash().put(key, item, value); + if (time > 0) { + expire(key, time,db); } return true; } catch (Exception e) { @@ -356,6 +635,17 @@ } /** + * 鍒犻櫎hash琛ㄤ腑鐨勫�� + * + * @param key 閿� 涓嶈兘涓簄ull + * @param item 椤� 鍙互浣垮涓� 涓嶈兘涓簄ull + */ + public void hdel(int db,String key, Object... item) { + RedisTemplate redisTemplate = redisManager.getRedisTemplate(db); + redisTemplate.opsForHash().delete(key, item); + } + + /** * 鍒ゆ柇hash琛ㄤ腑鏄惁鏈夎椤圭殑鍊� * * @param key 閿� 涓嶈兘涓簄ull @@ -367,6 +657,19 @@ } /** + * 鍒ゆ柇hash琛ㄤ腑鏄惁鏈夎椤圭殑鍊� + * + * @param key 閿� 涓嶈兘涓簄ull + * @param item 椤� 涓嶈兘涓簄ull + * @return true 瀛樺湪 false涓嶅瓨鍦� + */ + public boolean hHasKey(String key, String item,int db) { + RedisTemplate redisTemplate = redisManager.getRedisTemplate(db); + return redisTemplate.opsForHash().hasKey(key, item); + } + + + /** * hash閫掑 濡傛灉涓嶅瓨鍦�,灏变細鍒涘缓涓�涓� 骞舵妸鏂板鍚庣殑鍊艰繑鍥� * * @param key 閿� @@ -375,6 +678,19 @@ * @return */ public double hincr(String key, String item, double by) { + return redisTemplate.opsForHash().increment(key, item, by); + } + + /** + * hash閫掑 濡傛灉涓嶅瓨鍦�,灏变細鍒涘缓涓�涓� 骞舵妸鏂板鍚庣殑鍊艰繑鍥� + * + * @param key 閿� + * @param item 椤� + * @param by 瑕佸鍔犲嚑(澶т簬0) + * @return + */ + public double hincr(String key, String item, double by,int db) { + RedisTemplate redisTemplate = redisManager.getRedisTemplate(db); return redisTemplate.opsForHash().increment(key, item, by); } @@ -390,6 +706,19 @@ return redisTemplate.opsForHash().increment(key, item, -by); } + /** + * hash閫掑噺 + * + * @param key 閿� + * @param item 椤� + * @param by 瑕佸噺灏戣(灏忎簬0) + * @return + */ + public double hdecr(String key, String item, double by,int db) { + RedisTemplate redisTemplate = redisManager.getRedisTemplate(db); + return redisTemplate.opsForHash().increment(key, item, -by); + } + // ============================set============================= /** @@ -400,6 +729,22 @@ */ public Set<Object> sGet(String key) { try { + return redisTemplate.opsForSet().members(key); + } catch (Exception e) { + e.printStackTrace(); + return null; + } + } + + /** + * 鏍规嵁key鑾峰彇Set涓殑鎵�鏈夊�� + * + * @param key 閿� + * @return + */ + public Set<Object> sGet(String key,int db) { + try { + RedisTemplate redisTemplate = redisManager.getRedisTemplate(db); return redisTemplate.opsForSet().members(key); } catch (Exception e) { e.printStackTrace(); @@ -424,6 +769,23 @@ } /** + * 鏍规嵁key鑾峰彇Set涓殑鎸囧畾鍑犱釜闅忔満鍐呭 + * + * @param key 閿� + * @param size 涓暟 + * @return + */ + public List sRandomGet(String key, Integer size,int db) { + try { + RedisTemplate redisTemplate = redisManager.getRedisTemplate(db); + return redisTemplate.opsForSet().randomMembers(key, size); + } catch (Exception e) { + e.printStackTrace(); + return null; + } + } + + /** * 鏍规嵁value浠庝竴涓猻et涓煡璇�,鏄惁瀛樺湪 * * @param key 閿� @@ -440,6 +802,23 @@ } /** + * 鏍规嵁value浠庝竴涓猻et涓煡璇�,鏄惁瀛樺湪 + * + * @param key 閿� + * @param value 鍊� + * @return true 瀛樺湪 false涓嶅瓨鍦� + */ + public boolean sHasKey(String key, Object value,int db) { + try { + RedisTemplate redisTemplate = redisManager.getRedisTemplate(db); + return redisTemplate.opsForSet().isMember(key, value); + } catch (Exception e) { + e.printStackTrace(); + return false; + } + } + + /** * 灏嗘暟鎹斁鍏et缂撳瓨 * * @param key 閿� @@ -448,6 +827,23 @@ */ public long sSet(String key, Object... values) { try { + return redisTemplate.opsForSet().add(key, values); + } catch (Exception e) { + e.printStackTrace(); + return 0; + } + } + + /** + * 灏嗘暟鎹斁鍏et缂撳瓨 + * + * @param key 閿� + * @param values 鍊� 鍙互鏄涓� + * @return 鎴愬姛涓暟 + */ + public long sSet(int db,String key, Object... values) { + try { + RedisTemplate redisTemplate = redisManager.getRedisTemplate(db); return redisTemplate.opsForSet().add(key, values); } catch (Exception e) { e.printStackTrace(); @@ -477,6 +873,28 @@ } /** + * 灏唖et鏁版嵁鏀惧叆缂撳瓨 + * + * @param key 閿� + * @param time 鏃堕棿(绉�) + * @param values 鍊� 鍙互鏄涓� + * @return 鎴愬姛涓暟 + */ + public long sSetAndTime(int db,String key, long time, Object... values) { + try { + RedisTemplate redisTemplate = redisManager.getRedisTemplate(db); + Long count = redisTemplate.opsForSet().add(key, values); + if (time > 0) { + expire(key, time,db); + } + return count; + } catch (Exception e) { + e.printStackTrace(); + return 0; + } + } + + /** * 鑾峰彇set缂撳瓨鐨勯暱搴� * * @param key 閿� @@ -484,6 +902,22 @@ */ public long sGetSetSize(String key) { try { + return redisTemplate.opsForSet().size(key); + } catch (Exception e) { + e.printStackTrace(); + return 0; + } + } + + /** + * 鑾峰彇set缂撳瓨鐨勯暱搴� + * + * @param key 閿� + * @return + */ + public long sGetSetSize(String key,int db) { + try { + RedisTemplate redisTemplate = redisManager.getRedisTemplate(db); return redisTemplate.opsForSet().size(key); } catch (Exception e) { e.printStackTrace(); @@ -500,6 +934,25 @@ */ public long setRemove(String key, Object... values) { try { + Long count = redisTemplate.opsForSet().remove(key, values); + return count; + } catch (Exception e) { + e.printStackTrace(); + return 0; + } + } + + + /** + * 绉婚櫎鍊间负value鐨� + * + * @param key 閿� + * @param values 鍊� 鍙互鏄涓� + * @return 绉婚櫎鐨勪釜鏁� + */ + public long setRemove(int db,String key, Object... values) { + try { + RedisTemplate redisTemplate = redisManager.getRedisTemplate(db); Long count = redisTemplate.opsForSet().remove(key, values); return count; } catch (Exception e) { @@ -527,6 +980,24 @@ } /** + * 鑾峰彇list缂撳瓨鐨勫唴瀹� + * + * @param key 閿� + * @param start 寮�濮� + * @param end 缁撴潫 0 鍒� -1浠h〃鎵�鏈夊�� + * @return + */ + public List<Object> lGet(String key, long start, long end,int db) { + try { + RedisTemplate redisTemplate = redisManager.getRedisTemplate(db); + return redisTemplate.opsForList().range(key, start, end); + } catch (Exception e) { + e.printStackTrace(); + return null; + } + } + + /** * 鑾峰彇list缂撳瓨鐨勯暱搴� * * @param key 閿� @@ -534,6 +1005,22 @@ */ public long lGetListSize(String key) { try { + return redisTemplate.opsForList().size(key); + } catch (Exception e) { + e.printStackTrace(); + return 0; + } + } + + /** + * 鑾峰彇list缂撳瓨鐨勯暱搴� + * + * @param key 閿� + * @return + */ + public long lGetListSize(String key,int db) { + try { + RedisTemplate redisTemplate = redisManager.getRedisTemplate(db); return redisTemplate.opsForList().size(key); } catch (Exception e) { e.printStackTrace(); @@ -558,6 +1045,23 @@ } /** + * 閫氳繃绱㈠紩 鑾峰彇list涓殑鍊� + * + * @param key 閿� + * @param index 绱㈠紩 index>=0鏃讹紝 0 琛ㄥご锛�1 绗簩涓厓绱狅紝渚濇绫绘帹锛沬ndex<0鏃讹紝-1锛岃〃灏撅紝-2鍊掓暟绗簩涓厓绱狅紝渚濇绫绘帹 + * @return + */ + public Object lGetIndex(String key, long index,int db) { + try { + RedisTemplate redisTemplate = redisManager.getRedisTemplate(db); + return redisTemplate.opsForList().index(key, index); + } catch (Exception e) { + e.printStackTrace(); + return null; + } + } + + /** * 灏唋ist鏀惧叆缂撳瓨 * * @param key 閿� @@ -566,6 +1070,24 @@ */ public boolean lSet(String key, Object value) { try { + redisTemplate.opsForList().rightPush(key, value); + return true; + } catch (Exception e) { + e.printStackTrace(); + return false; + } + } + + /** + * 灏唋ist鏀惧叆缂撳瓨 + * + * @param key 閿� + * @param value 鍊� + * @return + */ + public boolean lSet(String key, Object value,int db) { + try { + RedisTemplate redisTemplate = redisManager.getRedisTemplate(db); redisTemplate.opsForList().rightPush(key, value); return true; } catch (Exception e) { @@ -600,10 +1122,50 @@ * * @param key 閿� * @param value 鍊� + * @param time 鏃堕棿(绉�) + * @return + */ + public boolean lSet(String key, Object value, long time,int db) { + try { + RedisTemplate redisTemplate = redisManager.getRedisTemplate(db); + redisTemplate.opsForList().rightPush(key, value); + if (time > 0) { + expire(key, time,db); + } + return true; + } catch (Exception e) { + e.printStackTrace(); + return false; + } + } + + /** + * 灏唋ist鏀惧叆缂撳瓨 + * + * @param key 閿� + * @param value 鍊� * @return */ public boolean lSetAll(String key, List<Object> value) { try { + redisTemplate.opsForList().rightPushAll(key, value); + return true; + } catch (Exception e) { + e.printStackTrace(); + return false; + } + } + + /** + * 灏唋ist鏀惧叆缂撳瓨 + * + * @param key 閿� + * @param value 鍊� + * @return + */ + public boolean lSetAll(String key, List<Object> value,int db) { + try { + RedisTemplate redisTemplate = redisManager.getRedisTemplate(db); redisTemplate.opsForList().rightPushAll(key, value); return true; } catch (Exception e) { @@ -635,6 +1197,29 @@ } /** + * 灏唋ist鏀惧叆缂撳瓨 + * + * @param key 閿� + * @param value 鍊� + * @param time 鏃堕棿(绉�) + * @return + */ + public boolean lSetAll(String key, List<Object> value, long time,int db) { + try { + RedisTemplate redisTemplate = redisManager.getRedisTemplate(db); + // 璁剧疆瓒呮椂鏃堕棿 鍘熷瓙鍖� + redisTemplate.opsForList().rightPushAll(key, value); + if (time > 0) { + expire(key, time,db); + } + return true; + } catch (Exception e) { + e.printStackTrace(); + return false; + } + } + + /** * 鏍规嵁绱㈠紩淇敼list涓殑鏌愭潯鏁版嵁 * * @param key 閿� @@ -653,6 +1238,25 @@ } /** + * 鏍规嵁绱㈠紩淇敼list涓殑鏌愭潯鏁版嵁 + * + * @param key 閿� + * @param index 绱㈠紩 + * @param value 鍊� + * @return + */ + public boolean lUpdateIndex(String key, long index, Object value,int db) { + try { + RedisTemplate redisTemplate = redisManager.getRedisTemplate(db); + redisTemplate.opsForList().set(key, index, value); + return true; + } catch (Exception e) { + e.printStackTrace(); + return false; + } + } + + /** * 绉婚櫎N涓�间负value * * @param key 閿� @@ -662,6 +1266,25 @@ */ public long lRemove(String key, long count, Object value) { try { + Long remove = redisTemplate.opsForList().remove(key, count, value); + return remove; + } catch (Exception e) { + e.printStackTrace(); + return 0; + } + } + + /** + * 绉婚櫎N涓�间负value + * + * @param key 閿� + * @param count 绉婚櫎澶氬皯涓� + * @param value 鍊� + * @return 绉婚櫎鐨勪釜鏁� + */ + public long lRemove(String key, long count, Object value,int db) { + try { + RedisTemplate redisTemplate = redisManager.getRedisTemplate(db); Long remove = redisTemplate.opsForList().remove(key, count, value); return remove; } catch (Exception e) { @@ -734,11 +1357,51 @@ * zset 娣诲姞鍏冪礌 * * @param key + * @param time * @param tuples * @return */ - public long zsSetAndTime(String key, Set<ZSetOperations.TypedTuple<Object>> tuples) { + public long zsSetAndTime(String key, long time, Set<ZSetOperations.TypedTuple<Object>> tuples,int db) { try { + RedisTemplate redisTemplate = redisManager.getRedisTemplate(db); + Long count = redisTemplate.opsForZSet().add(key, tuples); + if (time > 0) { + expire(key, time,db); + } + return count; + } catch (Exception e) { + e.printStackTrace(); + return 0; + } + } + + /** + * zset 娣诲姞鍏冪礌 + * + * @param key + * @param tuples + * @return + */ + public long zsSet(String key, Set<ZSetOperations.TypedTuple<Object>> tuples) { + try { + Long count = redisTemplate.opsForZSet().add(key, tuples); + return count; + } catch (Exception e) { + e.printStackTrace(); + return 0; + } + } + + /** + * zset 娣诲姞鍏冪礌 + * + * @param key + * @param tuples + * @return + */ + public long zsSet(String key, Set<ZSetOperations.TypedTuple<Object>> tuples,int db) { + try { + RedisTemplate redisTemplate = redisManager.getRedisTemplate(db); Long count = redisTemplate.opsForZSet().add(key, tuples); return count; } catch (Exception e) { @@ -766,6 +1429,24 @@ /** + * zs 绉婚櫎鍏冪礌 + * + * @param key + * @param values + * @return + */ + public long zsRemove(int db,String key, Object... values) { + try { + RedisTemplate redisTemplate = redisManager.getRedisTemplate(db); + Long remove = redisTemplate.opsForZSet().remove(key, values); + return remove; + } catch (Exception e) { + e.printStackTrace(); + return 0; + } + } + + /** * 閫氳繃绱㈠紩鍖洪棿杩斿洖鏈夊簭闆嗗悎鎴愭寚瀹氬尯闂村唴鐨勬垚鍛橈紝鍏朵腑鏈夊簭闆嗘垚鍛樻寜鍒嗘暟鍊奸�掑(浠庡皬鍒板ぇ)椤哄簭鎺掑垪 * * @param key 閿� @@ -775,6 +1456,24 @@ */ public Set zsGet(String key, long start, long end) { try { + return redisTemplate.opsForZSet().range(key, start, end); + } catch (Exception e) { + e.printStackTrace(); + return null; + } + } + + /** + * 閫氳繃绱㈠紩鍖洪棿杩斿洖鏈夊簭闆嗗悎鎴愭寚瀹氬尯闂村唴鐨勬垚鍛橈紝鍏朵腑鏈夊簭闆嗘垚鍛樻寜鍒嗘暟鍊奸�掑(浠庡皬鍒板ぇ)椤哄簭鎺掑垪 + * + * @param key 閿� + * @param start 璧峰浣嶇疆 0 + * @param end 鏈熬浣嶇疆 -1 + * @return 0 -1 杩斿洖鎸夊垎鏁伴�掑鐨勯『搴忛泦鍚� 浠呰繑鍥� key + */ + public Set zsGet(String key, long start, long end,int db) { + try { + RedisTemplate redisTemplate = redisManager.getRedisTemplate(db); return redisTemplate.opsForZSet().range(key, start, end); } catch (Exception e) { e.printStackTrace(); @@ -801,6 +1500,24 @@ } /** + * 閫氳繃绱㈠紩鍖洪棿杩斿洖鏈夊簭闆嗗悎鎴愭寚瀹氬尯闂村唴鐨勬垚鍛橈紝鍏朵腑鏈夊簭闆嗘垚鍛樻寜鍒嗘暟鍊奸�掑(浠庡皬鍒板ぇ)椤哄簭鎺掑垪 + * + * @param key 閿� + * @param start 璧峰浣嶇疆 0 + * @param end 鏈熬浣嶇疆 -1 + * @return 0 -1 杩斿洖鎸夊垎鏁伴�掑鐨勯『搴忛泦鍚堬紝杩斿洖鎴愬憳瀵硅薄 + */ + public Set zsGetWithScores(String key, long start, long end,int db) { + try { + RedisTemplate redisTemplate = redisManager.getRedisTemplate(db); + return redisTemplate.opsForZSet().rangeWithScores(key, start, end); + } catch (Exception e) { + e.printStackTrace(); + return null; + } + } + + /** * 閫氳繃绱㈠紩鍖洪棿杩斿洖鏈夊簭闆嗗悎鎴愭寚瀹氬尯闂村唴鐨勬垚鍛橈紝鍏朵腑鏈夊簭闆嗘垚鍛樻寜鍒嗘暟鍊奸�掑噺(浠庡ぇ鍒板皬)椤哄簭鎺掑垪 * * @param key 閿� @@ -817,6 +1534,23 @@ } } + /** + * 閫氳繃绱㈠紩鍖洪棿杩斿洖鏈夊簭闆嗗悎鎴愭寚瀹氬尯闂村唴鐨勬垚鍛橈紝鍏朵腑鏈夊簭闆嗘垚鍛樻寜鍒嗘暟鍊奸�掑噺(浠庡ぇ鍒板皬)椤哄簭鎺掑垪 + * + * @param key 閿� + * @param start 璧峰浣嶇疆 0 + * @param end 鏈熬浣嶇疆 -1 + * @return 0 -1 杩斿洖鎸夊垎鏁伴�掑鐨勯『搴忛泦鍚� 浠呰繑鍥� key + */ + public Set zsGetReverse(String key, long start, long end,int db) { + try { + RedisTemplate redisTemplate = redisManager.getRedisTemplate(db); + return redisTemplate.opsForZSet().reverseRange(key, start, end); + } catch (Exception e) { + e.printStackTrace(); + return null; + } + } /** * 閫氳繃绱㈠紩鍖洪棿杩斿洖鏈夊簭闆嗗悎鎴愭寚瀹氬尯闂村唴鐨勬垚鍛樺璞★紝鍏朵腑鏈夊簭闆嗘垚鍛樻寜鍒嗘暟鍊奸�掑噺(浠庡ぇ鍒板皬)椤哄簭鎺掑垪 @@ -836,82 +1570,6 @@ } /** - * 鍒囨崲鏁版嵁搴� - * - * @return - */ - public RedisTemplate switchDatabase(Integer dbIndex) { - logger.info("閲嶆柊寤虹珛redis鏁版嵁搴撹繛鎺ュ紑濮�"); - Config config = new Config(); - config.setCodec(StringCodec.INSTANCE); - SingleServerConfig singleConfig = config.useSingleServer(); - singleConfig.setAddress("redis://120.53.235.63:6378"); - singleConfig.setPassword("gengzi666"); - singleConfig.setDatabase(dbIndex); - RedissonClient redissonClient = Redisson.create(config); - RedissonConnectionFactory redisConnectionFactory = new RedissonConnectionFactory(redissonClient); - redisTemplate.setConnectionFactory(redisConnectionFactory); - logger.info("閲嶆柊寤虹珛redis鏁版嵁搴撹繛鎺ョ粨鏉�"); - return redisTemplate; - } - - /** - * 閫氳繃绱㈠紩鍖洪棿杩斿洖鏈夊簭闆嗗悎鎴愭寚瀹氬尯闂村唴鐨勬垚鍛橈紝鍏朵腑鏈夊簭闆嗘垚鍛樻寜鍒嗘暟鍊奸�掑(浠庡皬鍒板ぇ)椤哄簭鎺掑垪 - * - * @param key 閿� - * @param start 璧峰浣嶇疆 0 - * @param end 鏈熬浣嶇疆 -1 - * @return 0 -1 杩斿洖鎸夊垎鏁伴�掑鐨勯『搴忛泦鍚� 浠呰繑鍥� key - */ - public Set zsGet(String key, long start, long end, Integer db) { - try { - RedisTemplate redisTemplate = redisManager.getRedisTemplate(db); - return redisTemplate.opsForZSet().range(key, start, end); - } catch (Exception e) { - e.printStackTrace(); - return null; - } - } - - - /** - * 閫氳繃绱㈠紩鍖洪棿杩斿洖鏈夊簭闆嗗悎鎴愭寚瀹氬尯闂村唴鐨勬垚鍛橈紝鍏朵腑鏈夊簭闆嗘垚鍛樻寜鍒嗘暟鍊奸�掑(浠庡皬鍒板ぇ)椤哄簭鎺掑垪 - * - * @param key 閿� - * @param start 璧峰浣嶇疆 0 - * @param end 鏈熬浣嶇疆 -1 - * @return 0 -1 杩斿洖鎸夊垎鏁伴�掑鐨勯『搴忛泦鍚堬紝杩斿洖鎴愬憳瀵硅薄 - */ - public Set zsGetWithScores(String key, long start, long end, Integer db) { - try { - RedisTemplate redisTemplate = redisManager.getRedisTemplate(db); - return redisTemplate.opsForZSet().rangeWithScores(key, start, end); - } catch (Exception e) { - e.printStackTrace(); - return null; - } - } - - /** - * 閫氳繃绱㈠紩鍖洪棿杩斿洖鏈夊簭闆嗗悎鎴愭寚瀹氬尯闂村唴鐨勬垚鍛橈紝鍏朵腑鏈夊簭闆嗘垚鍛樻寜鍒嗘暟鍊奸�掑噺(浠庡ぇ鍒板皬)椤哄簭鎺掑垪 - * - * @param key 閿� - * @param start 璧峰浣嶇疆 0 - * @param end 鏈熬浣嶇疆 -1 - * @return 0 -1 杩斿洖鎸夊垎鏁伴�掑鐨勯『搴忛泦鍚� 浠呰繑鍥� key - */ - public Set zsGetReverse(String key, long start, long end, Integer db) { - try { - RedisTemplate redisTemplate = redisManager.getRedisTemplate(db); - return redisTemplate.opsForZSet().reverseRange(key, start, end); - } catch (Exception e) { - e.printStackTrace(); - return null; - } - } - - - /** * 閫氳繃绱㈠紩鍖洪棿杩斿洖鏈夊簭闆嗗悎鎴愭寚瀹氬尯闂村唴鐨勬垚鍛樺璞★紝鍏朵腑鏈夊簭闆嗘垚鍛樻寜鍒嗘暟鍊奸�掑噺(浠庡ぇ鍒板皬)椤哄簭鎺掑垪 * * @param key 閿� @@ -919,7 +1577,7 @@ * @param end 鏈熬浣嶇疆 -1 * @return 0 -1 杩斿洖鎸夊垎鏁伴�掑鐨勯『搴忛泦鍚堬紝杩斿洖鎴愬憳瀵硅薄 */ - public Set zsGetReverseWithScores(String key, long start, long end, Integer db) { + public Set zsGetReverseWithScores(String key, long start, long end,int db) { try { RedisTemplate redisTemplate = redisManager.getRedisTemplate(db); return redisTemplate.opsForZSet().reverseRangeWithScores(key, start, end); @@ -928,64 +1586,4 @@ return null; } } - - /** - * zset 娣诲姞鍏冪礌 - * - * @param key - * @param time - * @param tuples - * @return - */ - public long zsSetAndTime(String key, long time, Set<ZSetOperations.TypedTuple<Object>> tuples, Integer db) { - try { - RedisTemplate redisTemplate = redisManager.getRedisTemplate(db); - Long count = redisTemplate.opsForZSet().add(key, tuples); - if (time > 0) { - expire(key, time); - } - return count; - } catch (Exception e) { - e.printStackTrace(); - return 0; - } - } - - /** - * zset 娣诲姞鍏冪礌 - * - * @param key - * @param tuples - * @return - */ - public long zsSetAndTime(String key, Set<ZSetOperations.TypedTuple<Object>> tuples, Integer db) { - try { - // 鏍规嵁db搴忓彿锛岃幏鍙栧搴旂殑 RedisTemplate - RedisTemplate redisTemplate = redisManager.getRedisTemplate(db); - Long count = redisTemplate.opsForZSet().add(key, tuples); - return count; - } catch (Exception e) { - e.printStackTrace(); - return 0; - } - } - - /** - * zs 绉婚櫎鍏冪礌 - * - * @param key - * @param values - * @return - */ - public long zsRemove(String key, Integer db, Object... values) { - try { - RedisTemplate redisTemplate = redisManager.getRedisTemplate(db); - Long remove = redisTemplate.opsForZSet().remove(key, values); - return remove; - } catch (Exception e) { - e.printStackTrace(); - return 0; - } - } - } -- Gitblit v1.8.0