From 71fe60d885b09d53fcd4c58afcfccf18d24a94c2 Mon Sep 17 00:00:00 2001
From: 648540858 <648540858@qq.com>
Date: 星期四, 11 四月 2024 15:34:56 +0800
Subject: [PATCH] 更新README
---
src/main/java/com/genersoft/iot/vmp/utils/redis/RedisUtil2.java | 1786 +++++++++++++++++++++++++++++-----------------------------
1 files changed, 893 insertions(+), 893 deletions(-)
diff --git a/src/main/java/com/genersoft/iot/vmp/utils/redis/RedisUtil2.java b/src/main/java/com/genersoft/iot/vmp/utils/redis/RedisUtil2.java
old mode 100644
new mode 100755
index 50d13d4..18c1fd5
--- a/src/main/java/com/genersoft/iot/vmp/utils/redis/RedisUtil2.java
+++ b/src/main/java/com/genersoft/iot/vmp/utils/redis/RedisUtil2.java
@@ -1,899 +1,899 @@
-package com.genersoft.iot.vmp.utils.redis;
-
-import com.alibaba.fastjson2.JSONObject;
-import com.genersoft.iot.vmp.utils.SpringBeanFactory;
-import org.springframework.data.redis.core.*;
-import org.springframework.util.CollectionUtils;
-
-import java.util.*;
-import java.util.concurrent.TimeUnit;
-
-/**
- * Redis宸ュ叿绫�
- * @author swwheihei
- * @date 2020骞�5鏈�6鏃� 涓嬪崍8:27:29
- */
-@SuppressWarnings(value = {"rawtypes", "unchecked"})
-public class RedisUtil2 {
-
- private static RedisTemplate redisTemplate;
-
- static {
- redisTemplate = SpringBeanFactory.getBean("redisTemplate");
- }
-
- /**
- * 鎸囧畾缂撳瓨澶辨晥鏃堕棿
- * @param key 閿�
- * @param time 鏃堕棿锛堢锛�
- * @return true / false
- */
- public static boolean expire(String key, long time) {
- if (redisTemplate == null) {
- redisTemplate = SpringBeanFactory.getBean("redisTemplate");
- }
- try {
- if (time > 0) {
- redisTemplate.expire(key, time, TimeUnit.SECONDS);
- }
- return true;
- } catch (Exception e) {
- e.printStackTrace();
- return false;
- }
- }
-
- /**
- * 鏍规嵁 key 鑾峰彇杩囨湡鏃堕棿
- * @param key 閿�
- */
- public static long getExpire(String key) {
- if (redisTemplate == null) {
- redisTemplate = SpringBeanFactory.getBean("redisTemplate");
- }
- return redisTemplate.getExpire(key, TimeUnit.SECONDS);
- }
-
- /**
- * 鍒ゆ柇 key 鏄惁瀛樺湪
- * @param key 閿�
- * @return true / false
- */
- public static boolean hasKey(String key) {
- if (redisTemplate == null) {
- redisTemplate = SpringBeanFactory.getBean("redisTemplate");
- }
- try {
- return redisTemplate.hasKey(key);
- } catch (Exception e) {
- e.printStackTrace();
- return false;
- }
- }
-
- /**
- * 鍒犻櫎缂撳瓨
- * @SuppressWarnings("unchecked") 蹇界暐绫诲瀷杞崲璀﹀憡
- * @param key 閿紙涓�涓垨鑰呭涓級
- */
- public static boolean del(String... key) {
- if (redisTemplate == null) {
- redisTemplate = SpringBeanFactory.getBean("redisTemplate");
- }
- try {
- if (key != null && key.length > 0) {
- if (key.length == 1) {
- redisTemplate.delete(key[0]);
- } else {
-// 浼犲叆涓�涓� Collection<String> 闆嗗悎
- redisTemplate.delete(CollectionUtils.arrayToList(key));
- }
- }
- return true;
- } catch (Exception e) {
- e.printStackTrace();
- return false;
- }
- }
-
-// ============================== String ==============================
-
- /**
- * 鏅�氱紦瀛樿幏鍙�
- * @param key 閿�
- * @return 鍊�
- */
- public static Object get(String key) {
- if (redisTemplate == null) {
- redisTemplate = SpringBeanFactory.getBean("redisTemplate");
- }
- return key == null ? null : redisTemplate.opsForValue().get(key);
- }
-
- /**
- * 鏅�氱紦瀛樻斁鍏�
- * @param key 閿�
- * @param value 鍊�
- * @return true / false
- */
- public static boolean set(String key, Object value) {
- if (redisTemplate == null) {
- redisTemplate = SpringBeanFactory.getBean("redisTemplate");
- }
- try {
- redisTemplate.opsForValue().set(key, value);
- return true;
- } catch (Exception e) {
- e.printStackTrace();
- return false;
- }
- }
-
- /**
- * 鏅�氱紦瀛樻斁鍏ュ苟璁剧疆鏃堕棿
- * @param key 閿�
- * @param value 鍊�
- * @param time 鏃堕棿锛堢锛夛紝濡傛灉 time < 0 鍒欒缃棤闄愭椂闂�
- * @return true / false
- */
- public static boolean set(String key, Object value, long time) {
- if (redisTemplate == null) {
- redisTemplate = SpringBeanFactory.getBean("redisTemplate");
- }
- try {
- if (time > 0) {
- redisTemplate.opsForValue().set(key, value, time, TimeUnit.SECONDS);
- } else {
- set(key, value);
- }
- return true;
- } catch (Exception e) {
- e.printStackTrace();
- return false;
- }
- }
-
- /**
- * 閫掑
- * @param key 閿�
- * @param delta 閫掑澶у皬
- * @return
- */
- public static long incr(String key, long delta) {
- if (redisTemplate == null) {
- redisTemplate = SpringBeanFactory.getBean("redisTemplate");
- }
- if (delta < 0) {
- throw new RuntimeException("閫掑鍥犲瓙蹇呴』澶т簬 0");
- }
- return redisTemplate.opsForValue().increment(key, delta);
- }
-
- /**
- * 閫掑噺
- * @param key 閿�
- * @param delta 閫掑噺澶у皬
- * @return
- */
- public static long decr(String key, long delta) {
- if (redisTemplate == null) {
- redisTemplate = SpringBeanFactory.getBean("redisTemplate");
- }
- if (delta < 0) {
- throw new RuntimeException("閫掑噺鍥犲瓙蹇呴』澶т簬 0");
- }
- return redisTemplate.opsForValue().increment(key, delta);
- }
-
-// ============================== Map ==============================
-
- /**
- * HashGet
- * @param key 閿紙no null锛�
- * @param item 椤癸紙no null锛�
- * @return 鍊�
- */
- public static Object hget(String key, String item) {
- if (redisTemplate == null) {
- redisTemplate = SpringBeanFactory.getBean("redisTemplate");
- }
- return redisTemplate.opsForHash().get(key, item);
- }
-
- /**
- * 鑾峰彇 key 瀵瑰簲鐨� map
- * @param key 閿紙no null锛�
- * @return 瀵瑰簲鐨勫涓敭鍊�
- */
- public static Map<Object, Object> hmget(String key) {
- if (redisTemplate == null) {
- redisTemplate = SpringBeanFactory.getBean("redisTemplate");
- }
- return redisTemplate.opsForHash().entries(key);
- }
-
- /**
- * HashSet
- * @param key 閿�
- * @param map 鍊�
- * @return true / false
- */
- public static boolean hmset(String key, Map<Object, Object> map) {
- if (redisTemplate == null) {
- redisTemplate = SpringBeanFactory.getBean("redisTemplate");
- }
- try {
- redisTemplate.opsForHash().putAll(key, map);
- return true;
- } catch (Exception e) {
- e.printStackTrace();
- return false;
- }
- }
-
- /**
- * HashSet 骞惰缃椂闂�
- * @param key 閿�
- * @param map 鍊�
- * @param time 鏃堕棿
- * @return true / false
- */
- public static boolean hmset(String key, Map<?, ?> map, long time) {
- if (redisTemplate == null) {
- redisTemplate = SpringBeanFactory.getBean("redisTemplate");
- }
- try {
- redisTemplate.opsForHash().putAll(key, map);
- if (time > 0) {
- expire(key, time);
- }
- return true;
- } catch (Exception e) {
- e.printStackTrace();
- return false;
- }
- }
-
- /**
- * 鍚戜竴寮� Hash琛� 涓斁鍏ユ暟鎹紝濡備笉瀛樺湪鍒欏垱寤�
- * @param key 閿�
- * @param item 椤�
- * @param value 鍊�
- * @return true / false
- */
- public static boolean hset(String key, String item, Object value) {
- if (redisTemplate == null) {
- redisTemplate = SpringBeanFactory.getBean("redisTemplate");
- }
- try {
- redisTemplate.opsForHash().put(key, item, value);
- return true;
- } catch (Exception e) {
- e.printStackTrace();
- return false;
- }
- }
-
- /**
- * 鍚戜竴寮� Hash琛� 涓斁鍏ユ暟鎹紝骞惰缃椂闂达紝濡備笉瀛樺湪鍒欏垱寤�
- * @param key 閿�
- * @param item 椤�
- * @param value 鍊�
- * @param time 鏃堕棿锛堝鏋滃師鏉ョ殑 Hash琛� 璁剧疆浜嗘椂闂达紝杩欓噷浼氳鐩栵級
- * @return true / false
- */
- public static boolean hset(String key, String item, Object value, long time) {
- if (redisTemplate == null) {
- redisTemplate = SpringBeanFactory.getBean("redisTemplate");
- }
- try {
- redisTemplate.opsForHash().put(key, item, value);
- if (time > 0) {
- expire(key, time);
- }
- return true;
- } catch (Exception e) {
- e.printStackTrace();
- return false;
- }
- }
-
- /**
- * 鍒犻櫎 Hash琛� 涓殑鍊�
- * @param key 閿�
- * @param item 椤癸紙鍙互澶氫釜锛宯o null锛�
- */
- public static void hdel(String key, Object... item) {
- if (redisTemplate == null) {
- redisTemplate = SpringBeanFactory.getBean("redisTemplate");
- }
- redisTemplate.opsForHash().delete(key, item);
- }
-
- /**
- * 鍒ゆ柇 Hash琛� 涓槸鍚︽湁璇ラ敭鐨勫��
- * @param key 閿紙no null锛�
- * @param item 鍊硷紙no null锛�
- * @return true / false
- */
- public static boolean hHasKey(String key, String item) {
- if (redisTemplate == null) {
- redisTemplate = SpringBeanFactory.getBean("redisTemplate");
- }
- return redisTemplate.opsForHash().hasKey(key, item);
- }
-
- /**
- * Hash閫掑锛屽鏋滀笉瀛樺湪鍒欏垱寤轰竴涓紝骞舵妸鏂板鐨勫�艰繑鍥�
- * @param key 閿�
- * @param item 椤�
- * @param by 閫掑澶у皬 > 0
- * @return
- */
- public static Double hincr(String key, String item, Double by) {
- if (redisTemplate == null) {
- redisTemplate = SpringBeanFactory.getBean("redisTemplate");
- }
- return redisTemplate.opsForHash().increment(key, item, by);
- }
-
- /**
- * Hash閫掑噺
- * @param key 閿�
- * @param item 椤�
- * @param by 閫掑噺澶у皬
- * @return
- */
- public static Double hdecr(String key, String item, Double by) {
- if (redisTemplate == null) {
- redisTemplate = SpringBeanFactory.getBean("redisTemplate");
- }
- return redisTemplate.opsForHash().increment(key, item, -by);
- }
-
-// ============================== Set ==============================
-
- /**
- * 鏍规嵁 key 鑾峰彇 set 涓殑鎵�鏈夊��
- * @param key 閿�
- * @return 鍊�
- */
- public static Set<Object> sGet(String key) {
- if (redisTemplate == null) {
- redisTemplate = SpringBeanFactory.getBean("redisTemplate");
- }
- try {
- return redisTemplate.opsForSet().members(key);
- } catch (Exception e) {
- e.printStackTrace();
- return null;
- }
- }
-
- /**
- * 浠庨敭涓� key 鐨� set 涓紝鏍规嵁 value 鏌ヨ鏄惁瀛樺湪
- * @param key 閿�
- * @param value 鍊�
- * @return true / false
- */
- public static boolean sHasKey(String key, Object value) {
- if (redisTemplate == null) {
- redisTemplate = SpringBeanFactory.getBean("redisTemplate");
- }
- try {
- return redisTemplate.opsForSet().isMember(key, value);
- } catch (Exception e) {
- e.printStackTrace();
- return false;
- }
- }
-
- /**
- * 灏嗘暟鎹斁鍏� set缂撳瓨
- * @param key 閿��
- * @param values 鍊硷紙鍙互澶氫釜锛�
- * @return 鎴愬姛涓暟
- */
- public static long sSet(String key, Object... values) {
- if (redisTemplate == null) {
- redisTemplate = SpringBeanFactory.getBean("redisTemplate");
- }
- try {
- return redisTemplate.opsForSet().add(key, values);
- } catch (Exception e) {
- e.printStackTrace();
- return 0;
- }
- }
-
- /**
- * 灏嗘暟鎹斁鍏� set缂撳瓨锛屽苟璁剧疆鏃堕棿
- * @param key 閿�
- * @param time 鏃堕棿
- * @param values 鍊硷紙鍙互澶氫釜锛�
- * @return 鎴愬姛鏀惧叆涓暟
- */
- public static long sSet(String key, long time, Object... values) {
- if (redisTemplate == null) {
- redisTemplate = SpringBeanFactory.getBean("redisTemplate");
- }
- try {
- long count = redisTemplate.opsForSet().add(key, values);
- if (time > 0) {
- expire(key, time);
- }
- return count;
- } catch (Exception e) {
- e.printStackTrace();
- return 0;
- }
- }
-
- /**
- * 鑾峰彇 set缂撳瓨鐨勯暱搴�
- * @param key 閿�
- * @return 闀垮害
- */
- public static long sGetSetSize(String key) {
- if (redisTemplate == null) {
- redisTemplate = SpringBeanFactory.getBean("redisTemplate");
- }
- try {
- return redisTemplate.opsForSet().size(key);
- } catch (Exception e) {
- e.printStackTrace();
- return 0;
- }
- }
-
- /**
- * 绉婚櫎 set缂撳瓨涓紝鍊间负 value 鐨�
- * @param key 閿�
- * @param values 鍊�
- * @return 鎴愬姛绉婚櫎涓暟
- */
- public static long setRemove(String key, Object... values) {
- if (redisTemplate == null) {
- redisTemplate = SpringBeanFactory.getBean("redisTemplate");
- }
- try {
- return redisTemplate.opsForSet().remove(key, values);
- } catch (Exception e) {
- e.printStackTrace();
- return 0;
- }
- }
-// ============================== ZSet ==============================
-
- /**
- * 娣诲姞涓�涓厓绱�, zset涓巗et鏈�澶х殑鍖哄埆灏辨槸姣忎釜鍏冪礌閮芥湁涓�涓猻core锛屽洜姝ゆ湁涓帓搴忕殑杈呭姪鍔熻兘; zadd
- *
- * @param key
- * @param value
- * @param score
- */
- public static void zAdd(Object key, Object value, double score) {
- if (redisTemplate == null) {
- redisTemplate = SpringBeanFactory.getBean("redisTemplate");
- }
- redisTemplate.opsForZSet().add(key, value, score);
- }
-
- /**
- * 鍒犻櫎鍏冪礌 zrem
- *
- * @param key
- * @param value
- */
- public static void zRemove(Object key, Object value) {
- if (redisTemplate == null) {
- redisTemplate = SpringBeanFactory.getBean("redisTemplate");
- }
- redisTemplate.opsForZSet().remove(key, value);
- }
-
- /**
- * score鐨勫鍔爋r鍑忓皯 zincrby
- *
- * @param key
- * @param value
- * @param delta -1 琛ㄧず鍑� 1 琛ㄧず鍔�1
- */
- public static Double zIncrScore(Object key, Object value, double delta) {
- if (redisTemplate == null) {
- redisTemplate = SpringBeanFactory.getBean("redisTemplate");
- }
- return redisTemplate.opsForZSet().incrementScore(key, value, delta);
- }
-
- /**
- * 鏌ヨvalue瀵瑰簲鐨剆core zscore
- *
- * @param key
- * @param value
- * @return
- */
- public static Double zScore(Object key, Object value) {
- if (redisTemplate == null) {
- redisTemplate = SpringBeanFactory.getBean("redisTemplate");
- }
- return redisTemplate.opsForZSet().score(key, value);
- }
-
- /**
- * 鍒ゆ柇value鍦▃set涓殑鎺掑悕 zrank
- *
- * @param key
- * @param value
- * @return
- */
- public static Long zRank(Object key, Object value) {
- if (redisTemplate == null) {
- redisTemplate = SpringBeanFactory.getBean("redisTemplate");
- }
- return redisTemplate.opsForZSet().rank(key, value);
- }
-
- /**
- * 杩斿洖闆嗗悎鐨勯暱搴�
- *
- * @param key
- * @return
- */
- public static Long zSize(Object key) {
- if (redisTemplate == null) {
- redisTemplate = SpringBeanFactory.getBean("redisTemplate");
- }
- return redisTemplate.opsForZSet().zCard(key);
- }
-
- /**
- * 鏌ヨ闆嗗悎涓寚瀹氶『搴忕殑鍊硷紝 0 -1 琛ㄧず鑾峰彇鍏ㄩ儴鐨勯泦鍚堝唴瀹� zrange
- *
- * 杩斿洖鏈夊簭鐨勯泦鍚堬紝score灏忕殑鍦ㄥ墠闈�
- *
- * @param key
- * @param start
- * @param end
- * @return
- */
- public static Set<Object> zRange(Object key, int start, int end) {
- if (redisTemplate == null) {
- redisTemplate = SpringBeanFactory.getBean("redisTemplate");
- }
- return redisTemplate.opsForZSet().range(key, start, end);
- }
- /**
- * 鏌ヨ闆嗗悎涓寚瀹氶『搴忕殑鍊煎拰score锛�0, -1 琛ㄧず鑾峰彇鍏ㄩ儴鐨勯泦鍚堝唴瀹�
- *
- * @param key
- * @param start
- * @param end
- * @return
- */
- public static Set<ZSetOperations.TypedTuple<String>> zRangeWithScore(Object key, int start, int end) {
- if (redisTemplate == null) {
- redisTemplate = SpringBeanFactory.getBean("redisTemplate");
- }
- return redisTemplate.opsForZSet().rangeWithScores(key, start, end);
- }
- /**
- * 鏌ヨ闆嗗悎涓寚瀹氶『搴忕殑鍊� zrevrange
- *
- * 杩斿洖鏈夊簭鐨勯泦鍚堜腑锛宻core澶х殑鍦ㄥ墠闈�
- *
- * @param key
- * @param start
- * @param end
- * @return
- */
- public static Set<String> zRevRange(Object key, int start, int end) {
- if (redisTemplate == null) {
- redisTemplate = SpringBeanFactory.getBean("redisTemplate");
- }
- return redisTemplate.opsForZSet().reverseRange(key, start, end);
- }
- /**
- * 鏍规嵁score鐨勫�硷紝鏉ヨ幏鍙栨弧瓒虫潯浠剁殑闆嗗悎 zrangebyscore
- *
- * @param key
- * @param min
- * @param max
- * @return
- */
- public static Set<String> zSortRange(Object key, int min, int max) {
- if (redisTemplate == null) {
- redisTemplate = SpringBeanFactory.getBean("redisTemplate");
- }
- return redisTemplate.opsForZSet().rangeByScore(key, min, max);
- }
-
-
-// ============================== List ==============================
-
- /**
- * 鑾峰彇 list缂撳瓨鐨勫唴瀹�
- * @param key 閿�
- * @param start 寮�濮�
- * @param end 缁撴潫锛�0 鍒� -1 浠h〃鎵�鏈夊�硷級
- * @return
- */
- public static List<Object> lGet(String key, long start, long end) {
- if (redisTemplate == null) {
- redisTemplate = SpringBeanFactory.getBean("redisTemplate");
- }
- try {
- return redisTemplate.opsForList().range(key, start, end);
- } catch (Exception e) {
- e.printStackTrace();
- return null;
- }
- }
-
- /**
- * 鑾峰彇 list缂撳瓨鐨勯暱搴�
- * @param key 閿�
- * @return 闀垮害
- */
- public static long lGetListSize(String key) {
- if (redisTemplate == null) {
- redisTemplate = SpringBeanFactory.getBean("redisTemplate");
- }
- try {
- return redisTemplate.opsForList().size(key);
- } catch (Exception e) {
- e.printStackTrace();
- return 0;
- }
- }
-
- /**
- * 鏍规嵁绱㈠紩 index 鑾峰彇閿负 key 鐨� list 涓殑鍏冪礌
- * @param key 閿�
- * @param index 绱㈠紩
- * 褰� index >= 0 鏃� {0:琛ㄥご, 1:绗簩涓厓绱爙
- * 褰� index < 0 鏃� {-1:琛ㄥ熬, -2:鍊掓暟绗簩涓厓绱爙
- * @return 鍊�
- */
- public static Object lGetIndex(String key, long index) {
- if (redisTemplate == null) {
- redisTemplate = SpringBeanFactory.getBean("redisTemplate");
- }
- try {
- return redisTemplate.opsForList().index(key, index);
- } catch (Exception e) {
- e.printStackTrace();
- return null;
- }
- }
-
- /**
- * 灏嗗�� value 鎻掑叆閿负 key 鐨� list 涓紝濡傛灉 list 涓嶅瓨鍦ㄥ垯鍒涘缓绌� list
- * @param key 閿�
- * @param value 鍊�
- * @return true / false
- */
- public static boolean lSet(String key, Object value) {
- if (redisTemplate == null) {
- redisTemplate = SpringBeanFactory.getBean("redisTemplate");
- }
- try {
- redisTemplate.opsForList().rightPush(key, value);
- return true;
- } catch (Exception e) {
- e.printStackTrace();
- return false;
- }
- }
-
- /**
- * 灏嗗�� value 鎻掑叆閿负 key 鐨� list 涓紝骞惰缃椂闂�
- * @param key 閿�
- * @param value 鍊�
- * @param time 鏃堕棿
- * @return true / false
- */
- public static boolean lSet(String key, Object value, long time) {
- if (redisTemplate == null) {
- redisTemplate = SpringBeanFactory.getBean("redisTemplate");
- }
- try {
- redisTemplate.opsForList().rightPush(key, value);
- if (time > 0) {
- expire(key, time);
- }
- return true;
- } catch (Exception e) {
- e.printStackTrace();
- return false;
- }
- }
-
- /**
- * 灏� values 鎻掑叆閿负 key 鐨� list 涓�
- * @param key 閿�
- * @param values 鍊�
- * @return true / false
- */
- public static boolean lSetList(String key, List<Object> values) {
- if (redisTemplate == null) {
- redisTemplate = SpringBeanFactory.getBean("redisTemplate");
- }
- try {
- redisTemplate.opsForList().rightPushAll(key, values);
- return true;
- } catch (Exception e) {
- e.printStackTrace();
- return false;
- }
- }
-
- /**
- * 灏� values 鎻掑叆閿负 key 鐨� list 涓紝骞惰缃椂闂�
- * @param key 閿�
- * @param values 鍊�
- * @param time 鏃堕棿
- * @return true / false
- */
- public static boolean lSetList(String key, List<Object> values, long time) {
- if (redisTemplate == null) {
- redisTemplate = SpringBeanFactory.getBean("redisTemplate");
- }
- try {
- redisTemplate.opsForList().rightPushAll(key, values);
- if (time > 0) {
- expire(key, time);
- }
- return true;
- } catch (Exception e) {
- e.printStackTrace();
- return false;
- }
- }
-
- /**
- * 鏍规嵁绱㈠紩 index 淇敼閿负 key 鐨勫��
- * @param key 閿�
- * @param index 绱㈠紩
- * @param value 鍊�
- * @return true / false
- */
- public static boolean lUpdateIndex(String key, long index, Object value) {
- if (redisTemplate == null) {
- redisTemplate = SpringBeanFactory.getBean("redisTemplate");
- }
- try {
- redisTemplate.opsForList().set(key, index, value);
- return true;
- } catch (Exception e) {
- e.printStackTrace();
- return false;
- }
- }
-
- /**
- * 鍦ㄩ敭涓� key 鐨� list 涓垹闄ゅ�间负 value 鐨勫厓绱�
- * @param key 閿�
- * @param count 濡傛灉 count == 0 鍒欏垹闄� list 涓墍鏈夊�间负 value 鐨勫厓绱�
- * 濡傛灉 count > 0 鍒欏垹闄� list 涓渶宸﹁竟閭d釜鍊间负 value 鐨勫厓绱�
- * 濡傛灉 count < 0 鍒欏垹闄� list 涓渶鍙宠竟閭d釜鍊间负 value 鐨勫厓绱�
- * @param value
- * @return
- */
- public static long lRemove(String key, long count, Object value) {
- if (redisTemplate == null) {
- redisTemplate = SpringBeanFactory.getBean("redisTemplate");
- }
- try {
- return redisTemplate.opsForList().remove(key, count, value);
- } catch (Exception e) {
- e.printStackTrace();
- return 0;
- }
- }
-
- /**
- * 鍦ㄩ敭涓� key 鐨� list涓Щ闄ょ涓�涓厓绱�
- * @param key 閿�
- * @return
- */
- public static Object lLeftPop(String key) {
- if (redisTemplate == null) {
- redisTemplate = SpringBeanFactory.getBean("redisTemplate");
- }
- return redisTemplate.opsForList().leftPop(key);
- }
-
- /**
- * 鍦ㄩ敭涓� key 鐨� list涓Щ闄ゃ�佹渶鍚庝竴涓厓绱�
- * @param key 閿�
- * @return
- */
- public static Object lrightPop(String key) {
- if (redisTemplate == null) {
- redisTemplate = SpringBeanFactory.getBean("redisTemplate");
- }
- return redisTemplate.opsForList().rightPop(key);
- }
-
- /**
- * 妯$硦鏌ヨ
- * @param key 閿�
- * @return true / false
- */
- public static List<Object> keys(String key) {
- if (redisTemplate == null) {
- redisTemplate = SpringBeanFactory.getBean("redisTemplate");
- }
- try {
- Set<String> set = redisTemplate.keys(key);
- return new ArrayList<>(set);
- } catch (Exception e) {
- e.printStackTrace();
- return null;
- }
- }
-
-
- /**
- * 妯$硦鏌ヨ
- * @param query 鏌ヨ鍙傛暟
- * @return
- */
-// public static List<Object> scan(String query) {
-// List<Object> result = new ArrayList<>();
+//package com.genersoft.iot.vmp.utils.redis;
+//
+//import com.alibaba.fastjson2.JSONObject;
+//import com.genersoft.iot.vmp.utils.SpringBeanFactory;
+//import org.springframework.data.redis.core.*;
+//import org.springframework.util.CollectionUtils;
+//
+//import java.util.*;
+//import java.util.concurrent.TimeUnit;
+//
+///**
+// * Redis宸ュ叿绫�
+// * @author swwheihei
+// * @date 2020骞�5鏈�6鏃� 涓嬪崍8:27:29
+// */
+//@SuppressWarnings(value = {"rawtypes", "unchecked"})
+//public class RedisUtil2 {
+//
+// private static RedisTemplate redisTemplate;
+//
+// static {
+// redisTemplate = SpringBeanFactory.getBean("redisTemplate");
+// }
+//
+// /**
+// * 鎸囧畾缂撳瓨澶辨晥鏃堕棿
+// * @param key 閿�
+// * @param time 鏃堕棿锛堢锛�
+// * @return true / false
+// */
+// public static boolean expire(String key, long time) {
+// if (redisTemplate == null) {
+// redisTemplate = SpringBeanFactory.getBean("redisTemplate");
+// }
// try {
-// Cursor<Map.Entry<Object,Object>> cursor = redisTemplate.opsForHash().scan("field",
-// ScanOptions.scanOptions().match(query).count(1000).build());
-// while (cursor.hasNext()) {
-// Map.Entry<Object,Object> entry = cursor.next();
-// result.add(entry.getKey());
-// Object key = entry.getKey();
-// Object valueSet = entry.getValue();
+// if (time > 0) {
+// redisTemplate.expire(key, time, TimeUnit.SECONDS);
// }
-// //鍏抽棴cursor
-// cursor.close();
+// return true;
// } catch (Exception e) {
// e.printStackTrace();
+// return false;
// }
-// return result;
// }
-
- /**
- * 妯$硦鏌ヨ
- * @param query 鏌ヨ鍙傛暟
- * @return
- */
- public static List<Object> scan(String query) {
- if (redisTemplate == null) {
- redisTemplate = SpringBeanFactory.getBean("redisTemplate");
- }
- Set<String> resultKeys = (Set<String>) redisTemplate.execute((RedisCallback<Set<String>>) connection -> {
- ScanOptions scanOptions = ScanOptions.scanOptions().match("*" + query + "*").count(1000).build();
- Cursor<byte[]> scan = connection.scan(scanOptions);
- Set<String> keys = new HashSet<>();
- while (scan.hasNext()) {
- byte[] next = scan.next();
- keys.add(new String(next));
- }
- return keys;
- });
-
- return new ArrayList<>(resultKeys);
- }
- public static List<Object> scan2(String query) {
- if (redisTemplate == null) {
- redisTemplate = SpringBeanFactory.getBean("redisTemplate");
- }
- Set<String> keys = redisTemplate.keys(query);
- return new ArrayList<>(keys);
- }
- // ============================== 娑堟伅鍙戦�佷笌璁㈤槄 ==============================
- public static void convertAndSend(String channel, JSONObject msg) {
- if (redisTemplate == null) {
- redisTemplate = SpringBeanFactory.getBean("redisTemplate");
- }
- redisTemplate.convertAndSend(channel, msg);
- }
-
-}
+//
+// /**
+// * 鏍规嵁 key 鑾峰彇杩囨湡鏃堕棿
+// * @param key 閿�
+// */
+// public static long getExpire(String key) {
+// if (redisTemplate == null) {
+// redisTemplate = SpringBeanFactory.getBean("redisTemplate");
+// }
+// return redisTemplate.getExpire(key, TimeUnit.SECONDS);
+// }
+//
+// /**
+// * 鍒ゆ柇 key 鏄惁瀛樺湪
+// * @param key 閿�
+// * @return true / false
+// */
+// public static boolean hasKey(String key) {
+// if (redisTemplate == null) {
+// redisTemplate = SpringBeanFactory.getBean("redisTemplate");
+// }
+// try {
+// return redisTemplate.hasKey(key);
+// } catch (Exception e) {
+// e.printStackTrace();
+// return false;
+// }
+// }
+//
+// /**
+// * 鍒犻櫎缂撳瓨
+// * @SuppressWarnings("unchecked") 蹇界暐绫诲瀷杞崲璀﹀憡
+// * @param key 閿紙涓�涓垨鑰呭涓級
+// */
+// public static boolean del(String... key) {
+// if (redisTemplate == null) {
+// redisTemplate = SpringBeanFactory.getBean("redisTemplate");
+// }
+// try {
+// if (key != null && key.length > 0) {
+// if (key.length == 1) {
+// redisTemplate.delete(key[0]);
+// } else {
+//// 浼犲叆涓�涓� Collection<String> 闆嗗悎
+// redisTemplate.delete(CollectionUtils.arrayToList(key));
+// }
+// }
+// return true;
+// } catch (Exception e) {
+// e.printStackTrace();
+// return false;
+// }
+// }
+//
+//// ============================== String ==============================
+//
+// /**
+// * 鏅�氱紦瀛樿幏鍙�
+// * @param key 閿�
+// * @return 鍊�
+// */
+// public static Object get(String key) {
+// if (redisTemplate == null) {
+// redisTemplate = SpringBeanFactory.getBean("redisTemplate");
+// }
+// return key == null ? null : redisTemplate.opsForValue().get(key);
+// }
+//
+// /**
+// * 鏅�氱紦瀛樻斁鍏�
+// * @param key 閿�
+// * @param value 鍊�
+// * @return true / false
+// */
+// public static boolean set(String key, Object value) {
+// if (redisTemplate == null) {
+// redisTemplate = SpringBeanFactory.getBean("redisTemplate");
+// }
+// try {
+// redisTemplate.opsForValue().set(key, value);
+// return true;
+// } catch (Exception e) {
+// e.printStackTrace();
+// return false;
+// }
+// }
+//
+// /**
+// * 鏅�氱紦瀛樻斁鍏ュ苟璁剧疆鏃堕棿
+// * @param key 閿�
+// * @param value 鍊�
+// * @param time 鏃堕棿锛堢锛夛紝濡傛灉 time < 0 鍒欒缃棤闄愭椂闂�
+// * @return true / false
+// */
+// public static boolean set(String key, Object value, long time) {
+// if (redisTemplate == null) {
+// redisTemplate = SpringBeanFactory.getBean("redisTemplate");
+// }
+// try {
+// if (time > 0) {
+// redisTemplate.opsForValue().set(key, value, time, TimeUnit.SECONDS);
+// } else {
+// set(key, value);
+// }
+// return true;
+// } catch (Exception e) {
+// e.printStackTrace();
+// return false;
+// }
+// }
+//
+// /**
+// * 閫掑
+// * @param key 閿�
+// * @param delta 閫掑澶у皬
+// * @return
+// */
+// public static long incr(String key, long delta) {
+// if (redisTemplate == null) {
+// redisTemplate = SpringBeanFactory.getBean("redisTemplate");
+// }
+// if (delta < 0) {
+// throw new RuntimeException("閫掑鍥犲瓙蹇呴』澶т簬 0");
+// }
+// return redisTemplate.opsForValue().increment(key, delta);
+// }
+//
+// /**
+// * 閫掑噺
+// * @param key 閿�
+// * @param delta 閫掑噺澶у皬
+// * @return
+// */
+// public static long decr(String key, long delta) {
+// if (redisTemplate == null) {
+// redisTemplate = SpringBeanFactory.getBean("redisTemplate");
+// }
+// if (delta < 0) {
+// throw new RuntimeException("閫掑噺鍥犲瓙蹇呴』澶т簬 0");
+// }
+// return redisTemplate.opsForValue().increment(key, delta);
+// }
+//
+//// ============================== Map ==============================
+//
+// /**
+// * HashGet
+// * @param key 閿紙no null锛�
+// * @param item 椤癸紙no null锛�
+// * @return 鍊�
+// */
+// public static Object hget(String key, String item) {
+// if (redisTemplate == null) {
+// redisTemplate = SpringBeanFactory.getBean("redisTemplate");
+// }
+// return redisTemplate.opsForHash().get(key, item);
+// }
+//
+// /**
+// * 鑾峰彇 key 瀵瑰簲鐨� map
+// * @param key 閿紙no null锛�
+// * @return 瀵瑰簲鐨勫涓敭鍊�
+// */
+// public static Map<Object, Object> hmget(String key) {
+// if (redisTemplate == null) {
+// redisTemplate = SpringBeanFactory.getBean("redisTemplate");
+// }
+// return redisTemplate.opsForHash().entries(key);
+// }
+//
+// /**
+// * HashSet
+// * @param key 閿�
+// * @param map 鍊�
+// * @return true / false
+// */
+// public static boolean hmset(String key, Map<Object, Object> map) {
+// if (redisTemplate == null) {
+// redisTemplate = SpringBeanFactory.getBean("redisTemplate");
+// }
+// try {
+// redisTemplate.opsForHash().putAll(key, map);
+// return true;
+// } catch (Exception e) {
+// e.printStackTrace();
+// return false;
+// }
+// }
+//
+// /**
+// * HashSet 骞惰缃椂闂�
+// * @param key 閿�
+// * @param map 鍊�
+// * @param time 鏃堕棿
+// * @return true / false
+// */
+// public static boolean hmset(String key, Map<?, ?> map, long time) {
+// if (redisTemplate == null) {
+// redisTemplate = SpringBeanFactory.getBean("redisTemplate");
+// }
+// try {
+// redisTemplate.opsForHash().putAll(key, map);
+// if (time > 0) {
+// expire(key, time);
+// }
+// return true;
+// } catch (Exception e) {
+// e.printStackTrace();
+// return false;
+// }
+// }
+//
+// /**
+// * 鍚戜竴寮� Hash琛� 涓斁鍏ユ暟鎹紝濡備笉瀛樺湪鍒欏垱寤�
+// * @param key 閿�
+// * @param item 椤�
+// * @param value 鍊�
+// * @return true / false
+// */
+// public static boolean hset(String key, String item, Object value) {
+// if (redisTemplate == null) {
+// redisTemplate = SpringBeanFactory.getBean("redisTemplate");
+// }
+// try {
+// redisTemplate.opsForHash().put(key, item, value);
+// return true;
+// } catch (Exception e) {
+// e.printStackTrace();
+// return false;
+// }
+// }
+//
+// /**
+// * 鍚戜竴寮� Hash琛� 涓斁鍏ユ暟鎹紝骞惰缃椂闂达紝濡備笉瀛樺湪鍒欏垱寤�
+// * @param key 閿�
+// * @param item 椤�
+// * @param value 鍊�
+// * @param time 鏃堕棿锛堝鏋滃師鏉ョ殑 Hash琛� 璁剧疆浜嗘椂闂达紝杩欓噷浼氳鐩栵級
+// * @return true / false
+// */
+// public static boolean hset(String key, String item, Object value, long time) {
+// if (redisTemplate == null) {
+// redisTemplate = SpringBeanFactory.getBean("redisTemplate");
+// }
+// try {
+// redisTemplate.opsForHash().put(key, item, value);
+// if (time > 0) {
+// expire(key, time);
+// }
+// return true;
+// } catch (Exception e) {
+// e.printStackTrace();
+// return false;
+// }
+// }
+//
+// /**
+// * 鍒犻櫎 Hash琛� 涓殑鍊�
+// * @param key 閿�
+// * @param item 椤癸紙鍙互澶氫釜锛宯o null锛�
+// */
+// public static void hdel(String key, Object... item) {
+// if (redisTemplate == null) {
+// redisTemplate = SpringBeanFactory.getBean("redisTemplate");
+// }
+// redisTemplate.opsForHash().delete(key, item);
+// }
+//
+// /**
+// * 鍒ゆ柇 Hash琛� 涓槸鍚︽湁璇ラ敭鐨勫��
+// * @param key 閿紙no null锛�
+// * @param item 鍊硷紙no null锛�
+// * @return true / false
+// */
+// public static boolean hHasKey(String key, String item) {
+// if (redisTemplate == null) {
+// redisTemplate = SpringBeanFactory.getBean("redisTemplate");
+// }
+// return redisTemplate.opsForHash().hasKey(key, item);
+// }
+//
+// /**
+// * Hash閫掑锛屽鏋滀笉瀛樺湪鍒欏垱寤轰竴涓紝骞舵妸鏂板鐨勫�艰繑鍥�
+// * @param key 閿�
+// * @param item 椤�
+// * @param by 閫掑澶у皬 > 0
+// * @return
+// */
+// public static Double hincr(String key, String item, Double by) {
+// if (redisTemplate == null) {
+// redisTemplate = SpringBeanFactory.getBean("redisTemplate");
+// }
+// return redisTemplate.opsForHash().increment(key, item, by);
+// }
+//
+// /**
+// * Hash閫掑噺
+// * @param key 閿�
+// * @param item 椤�
+// * @param by 閫掑噺澶у皬
+// * @return
+// */
+// public static Double hdecr(String key, String item, Double by) {
+// if (redisTemplate == null) {
+// redisTemplate = SpringBeanFactory.getBean("redisTemplate");
+// }
+// return redisTemplate.opsForHash().increment(key, item, -by);
+// }
+//
+//// ============================== Set ==============================
+//
+// /**
+// * 鏍规嵁 key 鑾峰彇 set 涓殑鎵�鏈夊��
+// * @param key 閿�
+// * @return 鍊�
+// */
+// public static Set<Object> sGet(String key) {
+// if (redisTemplate == null) {
+// redisTemplate = SpringBeanFactory.getBean("redisTemplate");
+// }
+// try {
+// return redisTemplate.opsForSet().members(key);
+// } catch (Exception e) {
+// e.printStackTrace();
+// return null;
+// }
+// }
+//
+// /**
+// * 浠庨敭涓� key 鐨� set 涓紝鏍规嵁 value 鏌ヨ鏄惁瀛樺湪
+// * @param key 閿�
+// * @param value 鍊�
+// * @return true / false
+// */
+// public static boolean sHasKey(String key, Object value) {
+// if (redisTemplate == null) {
+// redisTemplate = SpringBeanFactory.getBean("redisTemplate");
+// }
+// try {
+// return redisTemplate.opsForSet().isMember(key, value);
+// } catch (Exception e) {
+// e.printStackTrace();
+// return false;
+// }
+// }
+//
+// /**
+// * 灏嗘暟鎹斁鍏� set缂撳瓨
+// * @param key 閿��
+// * @param values 鍊硷紙鍙互澶氫釜锛�
+// * @return 鎴愬姛涓暟
+// */
+// public static long sSet(String key, Object... values) {
+// if (redisTemplate == null) {
+// redisTemplate = SpringBeanFactory.getBean("redisTemplate");
+// }
+// try {
+// return redisTemplate.opsForSet().add(key, values);
+// } catch (Exception e) {
+// e.printStackTrace();
+// return 0;
+// }
+// }
+//
+// /**
+// * 灏嗘暟鎹斁鍏� set缂撳瓨锛屽苟璁剧疆鏃堕棿
+// * @param key 閿�
+// * @param time 鏃堕棿
+// * @param values 鍊硷紙鍙互澶氫釜锛�
+// * @return 鎴愬姛鏀惧叆涓暟
+// */
+// public static long sSet(String key, long time, Object... values) {
+// if (redisTemplate == null) {
+// redisTemplate = SpringBeanFactory.getBean("redisTemplate");
+// }
+// try {
+// long count = redisTemplate.opsForSet().add(key, values);
+// if (time > 0) {
+// expire(key, time);
+// }
+// return count;
+// } catch (Exception e) {
+// e.printStackTrace();
+// return 0;
+// }
+// }
+//
+// /**
+// * 鑾峰彇 set缂撳瓨鐨勯暱搴�
+// * @param key 閿�
+// * @return 闀垮害
+// */
+// public static long sGetSetSize(String key) {
+// if (redisTemplate == null) {
+// redisTemplate = SpringBeanFactory.getBean("redisTemplate");
+// }
+// try {
+// return redisTemplate.opsForSet().size(key);
+// } catch (Exception e) {
+// e.printStackTrace();
+// return 0;
+// }
+// }
+//
+// /**
+// * 绉婚櫎 set缂撳瓨涓紝鍊间负 value 鐨�
+// * @param key 閿�
+// * @param values 鍊�
+// * @return 鎴愬姛绉婚櫎涓暟
+// */
+// public static long setRemove(String key, Object... values) {
+// if (redisTemplate == null) {
+// redisTemplate = SpringBeanFactory.getBean("redisTemplate");
+// }
+// try {
+// return redisTemplate.opsForSet().remove(key, values);
+// } catch (Exception e) {
+// e.printStackTrace();
+// return 0;
+// }
+// }
+//// ============================== ZSet ==============================
+//
+// /**
+// * 娣诲姞涓�涓厓绱�, zset涓巗et鏈�澶х殑鍖哄埆灏辨槸姣忎釜鍏冪礌閮芥湁涓�涓猻core锛屽洜姝ゆ湁涓帓搴忕殑杈呭姪鍔熻兘; zadd
+// *
+// * @param key
+// * @param value
+// * @param score
+// */
+// public static void zAdd(Object key, Object value, double score) {
+// if (redisTemplate == null) {
+// redisTemplate = SpringBeanFactory.getBean("redisTemplate");
+// }
+// redisTemplate.opsForZSet().add(key, value, score);
+// }
+//
+// /**
+// * 鍒犻櫎鍏冪礌 zrem
+// *
+// * @param key
+// * @param value
+// */
+// public static void zRemove(Object key, Object value) {
+// if (redisTemplate == null) {
+// redisTemplate = SpringBeanFactory.getBean("redisTemplate");
+// }
+// redisTemplate.opsForZSet().remove(key, value);
+// }
+//
+// /**
+// * score鐨勫鍔爋r鍑忓皯 zincrby
+// *
+// * @param key
+// * @param value
+// * @param delta -1 琛ㄧず鍑� 1 琛ㄧず鍔�1
+// */
+// public static Double zIncrScore(Object key, Object value, double delta) {
+// if (redisTemplate == null) {
+// redisTemplate = SpringBeanFactory.getBean("redisTemplate");
+// }
+// return redisTemplate.opsForZSet().incrementScore(key, value, delta);
+// }
+//
+// /**
+// * 鏌ヨvalue瀵瑰簲鐨剆core zscore
+// *
+// * @param key
+// * @param value
+// * @return
+// */
+// public static Double zScore(Object key, Object value) {
+// if (redisTemplate == null) {
+// redisTemplate = SpringBeanFactory.getBean("redisTemplate");
+// }
+// return redisTemplate.opsForZSet().score(key, value);
+// }
+//
+// /**
+// * 鍒ゆ柇value鍦▃set涓殑鎺掑悕 zrank
+// *
+// * @param key
+// * @param value
+// * @return
+// */
+// public static Long zRank(Object key, Object value) {
+// if (redisTemplate == null) {
+// redisTemplate = SpringBeanFactory.getBean("redisTemplate");
+// }
+// return redisTemplate.opsForZSet().rank(key, value);
+// }
+//
+// /**
+// * 杩斿洖闆嗗悎鐨勯暱搴�
+// *
+// * @param key
+// * @return
+// */
+// public static Long zSize(Object key) {
+// if (redisTemplate == null) {
+// redisTemplate = SpringBeanFactory.getBean("redisTemplate");
+// }
+// return redisTemplate.opsForZSet().zCard(key);
+// }
+//
+// /**
+// * 鏌ヨ闆嗗悎涓寚瀹氶『搴忕殑鍊硷紝 0 -1 琛ㄧず鑾峰彇鍏ㄩ儴鐨勯泦鍚堝唴瀹� zrange
+// *
+// * 杩斿洖鏈夊簭鐨勯泦鍚堬紝score灏忕殑鍦ㄥ墠闈�
+// *
+// * @param key
+// * @param start
+// * @param end
+// * @return
+// */
+// public static Set<Object> zRange(Object key, int start, int end) {
+// if (redisTemplate == null) {
+// redisTemplate = SpringBeanFactory.getBean("redisTemplate");
+// }
+// return redisTemplate.opsForZSet().range(key, start, end);
+// }
+// /**
+// * 鏌ヨ闆嗗悎涓寚瀹氶『搴忕殑鍊煎拰score锛�0, -1 琛ㄧず鑾峰彇鍏ㄩ儴鐨勯泦鍚堝唴瀹�
+// *
+// * @param key
+// * @param start
+// * @param end
+// * @return
+// */
+// public static Set<ZSetOperations.TypedTuple<String>> zRangeWithScore(Object key, int start, int end) {
+// if (redisTemplate == null) {
+// redisTemplate = SpringBeanFactory.getBean("redisTemplate");
+// }
+// return redisTemplate.opsForZSet().rangeWithScores(key, start, end);
+// }
+// /**
+// * 鏌ヨ闆嗗悎涓寚瀹氶『搴忕殑鍊� zrevrange
+// *
+// * 杩斿洖鏈夊簭鐨勯泦鍚堜腑锛宻core澶х殑鍦ㄥ墠闈�
+// *
+// * @param key
+// * @param start
+// * @param end
+// * @return
+// */
+// public static Set<String> zRevRange(Object key, int start, int end) {
+// if (redisTemplate == null) {
+// redisTemplate = SpringBeanFactory.getBean("redisTemplate");
+// }
+// return redisTemplate.opsForZSet().reverseRange(key, start, end);
+// }
+// /**
+// * 鏍规嵁score鐨勫�硷紝鏉ヨ幏鍙栨弧瓒虫潯浠剁殑闆嗗悎 zrangebyscore
+// *
+// * @param key
+// * @param min
+// * @param max
+// * @return
+// */
+// public static Set<String> zSortRange(Object key, int min, int max) {
+// if (redisTemplate == null) {
+// redisTemplate = SpringBeanFactory.getBean("redisTemplate");
+// }
+// return redisTemplate.opsForZSet().rangeByScore(key, min, max);
+// }
+//
+//
+//// ============================== List ==============================
+//
+// /**
+// * 鑾峰彇 list缂撳瓨鐨勫唴瀹�
+// * @param key 閿�
+// * @param start 寮�濮�
+// * @param end 缁撴潫锛�0 鍒� -1 浠h〃鎵�鏈夊�硷級
+// * @return
+// */
+// public static List<Object> lGet(String key, long start, long end) {
+// if (redisTemplate == null) {
+// redisTemplate = SpringBeanFactory.getBean("redisTemplate");
+// }
+// try {
+// return redisTemplate.opsForList().range(key, start, end);
+// } catch (Exception e) {
+// e.printStackTrace();
+// return null;
+// }
+// }
+//
+// /**
+// * 鑾峰彇 list缂撳瓨鐨勯暱搴�
+// * @param key 閿�
+// * @return 闀垮害
+// */
+// public static long lGetListSize(String key) {
+// if (redisTemplate == null) {
+// redisTemplate = SpringBeanFactory.getBean("redisTemplate");
+// }
+// try {
+// return redisTemplate.opsForList().size(key);
+// } catch (Exception e) {
+// e.printStackTrace();
+// return 0;
+// }
+// }
+//
+// /**
+// * 鏍规嵁绱㈠紩 index 鑾峰彇閿负 key 鐨� list 涓殑鍏冪礌
+// * @param key 閿�
+// * @param index 绱㈠紩
+// * 褰� index >= 0 鏃� {0:琛ㄥご, 1:绗簩涓厓绱爙
+// * 褰� index < 0 鏃� {-1:琛ㄥ熬, -2:鍊掓暟绗簩涓厓绱爙
+// * @return 鍊�
+// */
+// public static Object lGetIndex(String key, long index) {
+// if (redisTemplate == null) {
+// redisTemplate = SpringBeanFactory.getBean("redisTemplate");
+// }
+// try {
+// return redisTemplate.opsForList().index(key, index);
+// } catch (Exception e) {
+// e.printStackTrace();
+// return null;
+// }
+// }
+//
+// /**
+// * 灏嗗�� value 鎻掑叆閿负 key 鐨� list 涓紝濡傛灉 list 涓嶅瓨鍦ㄥ垯鍒涘缓绌� list
+// * @param key 閿�
+// * @param value 鍊�
+// * @return true / false
+// */
+// public static boolean lSet(String key, Object value) {
+// if (redisTemplate == null) {
+// redisTemplate = SpringBeanFactory.getBean("redisTemplate");
+// }
+// try {
+// redisTemplate.opsForList().rightPush(key, value);
+// return true;
+// } catch (Exception e) {
+// e.printStackTrace();
+// return false;
+// }
+// }
+//
+// /**
+// * 灏嗗�� value 鎻掑叆閿负 key 鐨� list 涓紝骞惰缃椂闂�
+// * @param key 閿�
+// * @param value 鍊�
+// * @param time 鏃堕棿
+// * @return true / false
+// */
+// public static boolean lSet(String key, Object value, long time) {
+// if (redisTemplate == null) {
+// redisTemplate = SpringBeanFactory.getBean("redisTemplate");
+// }
+// try {
+// redisTemplate.opsForList().rightPush(key, value);
+// if (time > 0) {
+// expire(key, time);
+// }
+// return true;
+// } catch (Exception e) {
+// e.printStackTrace();
+// return false;
+// }
+// }
+//
+// /**
+// * 灏� values 鎻掑叆閿负 key 鐨� list 涓�
+// * @param key 閿�
+// * @param values 鍊�
+// * @return true / false
+// */
+// public static boolean lSetList(String key, List<Object> values) {
+// if (redisTemplate == null) {
+// redisTemplate = SpringBeanFactory.getBean("redisTemplate");
+// }
+// try {
+// redisTemplate.opsForList().rightPushAll(key, values);
+// return true;
+// } catch (Exception e) {
+// e.printStackTrace();
+// return false;
+// }
+// }
+//
+// /**
+// * 灏� values 鎻掑叆閿负 key 鐨� list 涓紝骞惰缃椂闂�
+// * @param key 閿�
+// * @param values 鍊�
+// * @param time 鏃堕棿
+// * @return true / false
+// */
+// public static boolean lSetList(String key, List<Object> values, long time) {
+// if (redisTemplate == null) {
+// redisTemplate = SpringBeanFactory.getBean("redisTemplate");
+// }
+// try {
+// redisTemplate.opsForList().rightPushAll(key, values);
+// if (time > 0) {
+// expire(key, time);
+// }
+// return true;
+// } catch (Exception e) {
+// e.printStackTrace();
+// return false;
+// }
+// }
+//
+// /**
+// * 鏍规嵁绱㈠紩 index 淇敼閿负 key 鐨勫��
+// * @param key 閿�
+// * @param index 绱㈠紩
+// * @param value 鍊�
+// * @return true / false
+// */
+// public static boolean lUpdateIndex(String key, long index, Object value) {
+// if (redisTemplate == null) {
+// redisTemplate = SpringBeanFactory.getBean("redisTemplate");
+// }
+// try {
+// redisTemplate.opsForList().set(key, index, value);
+// return true;
+// } catch (Exception e) {
+// e.printStackTrace();
+// return false;
+// }
+// }
+//
+// /**
+// * 鍦ㄩ敭涓� key 鐨� list 涓垹闄ゅ�间负 value 鐨勫厓绱�
+// * @param key 閿�
+// * @param count 濡傛灉 count == 0 鍒欏垹闄� list 涓墍鏈夊�间负 value 鐨勫厓绱�
+// * 濡傛灉 count > 0 鍒欏垹闄� list 涓渶宸﹁竟閭d釜鍊间负 value 鐨勫厓绱�
+// * 濡傛灉 count < 0 鍒欏垹闄� list 涓渶鍙宠竟閭d釜鍊间负 value 鐨勫厓绱�
+// * @param value
+// * @return
+// */
+// public static long lRemove(String key, long count, Object value) {
+// if (redisTemplate == null) {
+// redisTemplate = SpringBeanFactory.getBean("redisTemplate");
+// }
+// try {
+// return redisTemplate.opsForList().remove(key, count, value);
+// } catch (Exception e) {
+// e.printStackTrace();
+// return 0;
+// }
+// }
+//
+// /**
+// * 鍦ㄩ敭涓� key 鐨� list涓Щ闄ょ涓�涓厓绱�
+// * @param key 閿�
+// * @return
+// */
+// public static Object lLeftPop(String key) {
+// if (redisTemplate == null) {
+// redisTemplate = SpringBeanFactory.getBean("redisTemplate");
+// }
+// return redisTemplate.opsForList().leftPop(key);
+// }
+//
+// /**
+// * 鍦ㄩ敭涓� key 鐨� list涓Щ闄ゃ�佹渶鍚庝竴涓厓绱�
+// * @param key 閿�
+// * @return
+// */
+// public static Object lrightPop(String key) {
+// if (redisTemplate == null) {
+// redisTemplate = SpringBeanFactory.getBean("redisTemplate");
+// }
+// return redisTemplate.opsForList().rightPop(key);
+// }
+//
+// /**
+// * 妯$硦鏌ヨ
+// * @param key 閿�
+// * @return true / false
+// */
+// public static List<Object> keys(String key) {
+// if (redisTemplate == null) {
+// redisTemplate = SpringBeanFactory.getBean("redisTemplate");
+// }
+// try {
+// Set<String> set = redisTemplate.keys(key);
+// return new ArrayList<>(set);
+// } catch (Exception e) {
+// e.printStackTrace();
+// return null;
+// }
+// }
+//
+//
+// /**
+// * 妯$硦鏌ヨ
+// * @param query 鏌ヨ鍙傛暟
+// * @return
+// */
+//// public static List<Object> scan(String query) {
+//// List<Object> result = new ArrayList<>();
+//// try {
+//// Cursor<Map.Entry<Object,Object>> cursor = redisTemplate.opsForHash().scan("field",
+//// ScanOptions.scanOptions().match(query).count(1000).build());
+//// while (cursor.hasNext()) {
+//// Map.Entry<Object,Object> entry = cursor.next();
+//// result.add(entry.getKey());
+//// Object key = entry.getKey();
+//// Object valueSet = entry.getValue();
+//// }
+//// //鍏抽棴cursor
+//// cursor.close();
+//// } catch (Exception e) {
+//// e.printStackTrace();
+//// }
+//// return result;
+//// }
+//
+// /**
+// * 妯$硦鏌ヨ
+// * @param query 鏌ヨ鍙傛暟
+// * @return
+// */
+// public static List<Object> scan(String query) {
+// if (redisTemplate == null) {
+// redisTemplate = SpringBeanFactory.getBean("redisTemplate");
+// }
+// Set<String> resultKeys = (Set<String>) redisTemplate.execute((RedisCallback<Set<String>>) connection -> {
+// ScanOptions scanOptions = ScanOptions.scanOptions().match("*" + query + "*").count(1000).build();
+// Cursor<byte[]> scan = connection.scan(scanOptions);
+// Set<String> keys = new HashSet<>();
+// while (scan.hasNext()) {
+// byte[] next = scan.next();
+// keys.add(new String(next));
+// }
+// return keys;
+// });
+//
+// return new ArrayList<>(resultKeys);
+// }
+// public static List<Object> scan2(String query) {
+// if (redisTemplate == null) {
+// redisTemplate = SpringBeanFactory.getBean("redisTemplate");
+// }
+// Set<String> keys = redisTemplate.keys(query);
+// return new ArrayList<>(keys);
+// }
+// // ============================== 娑堟伅鍙戦�佷笌璁㈤槄 ==============================
+// public static void convertAndSend(String channel, JSONObject msg) {
+// if (redisTemplate == null) {
+// redisTemplate = SpringBeanFactory.getBean("redisTemplate");
+// }
+// redisTemplate.convertAndSend(channel, msg);
+// }
+//
+//}
--
Gitblit v1.8.0