From f89ef3abf4f3210a6f768cc47644a99fee1a46f6 Mon Sep 17 00:00:00 2001 From: 648540858 <648540858@qq.com> Date: 星期一, 03 四月 2023 15:06:08 +0800 Subject: [PATCH] 优化移动位置notify消息处理 --- 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 index 50d13d4..18c1fd5 100644 --- 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