|
@@ -94,8 +94,8 @@ public class RedisUtils {
|
|
|
/**
|
|
|
* 缓存基本的对象,保留当前对象 TTL 有效期
|
|
|
*
|
|
|
- * @param key 缓存的键值
|
|
|
- * @param value 缓存的值
|
|
|
+ * @param key 缓存的键值
|
|
|
+ * @param value 缓存的值
|
|
|
* @param isSaveTtl 是否保留TTL有效期(例如: set之前ttl剩余90 set之后还是为90)
|
|
|
* @since Redis 6.X 以上使用 setAndKeepTTL 兼容 5.X 方案
|
|
|
*/
|
|
@@ -128,6 +128,19 @@ public class RedisUtils {
|
|
|
result.expire(timeout, timeUnit);
|
|
|
}
|
|
|
|
|
|
+ /**
|
|
|
+ * 注册对象监听器
|
|
|
+ *
|
|
|
+ * key 监听器需开启 `notify-keyspace-events` 等 redis 相关配置
|
|
|
+ *
|
|
|
+ * @param key 缓存的键值
|
|
|
+ * @param listener 监听器配置
|
|
|
+ */
|
|
|
+ public static <T> void addObjectListener(final String key, final ObjectListener listener) {
|
|
|
+ RBucket<T> result = CLIENT.getBucket(key);
|
|
|
+ result.addListener(listener);
|
|
|
+ }
|
|
|
+
|
|
|
/**
|
|
|
* 设置有效时间
|
|
|
*
|
|
@@ -177,19 +190,16 @@ public class RedisUtils {
|
|
|
/**
|
|
|
* 删除单个对象
|
|
|
*
|
|
|
- * @param key
|
|
|
+ * @param key 缓存的键值
|
|
|
*/
|
|
|
public static boolean deleteObject(final String key) {
|
|
|
return CLIENT.getBucket(key).delete();
|
|
|
}
|
|
|
|
|
|
- /* */
|
|
|
-
|
|
|
/**
|
|
|
* 删除集合对象
|
|
|
*
|
|
|
* @param collection 多个对象
|
|
|
- * @return
|
|
|
*/
|
|
|
public static void deleteObject(final Collection collection) {
|
|
|
RBatch batch = CLIENT.createBatch();
|
|
@@ -211,6 +221,19 @@ public class RedisUtils {
|
|
|
return rList.addAll(dataList);
|
|
|
}
|
|
|
|
|
|
+ /**
|
|
|
+ * 注册List监听器
|
|
|
+ *
|
|
|
+ * key 监听器需开启 `notify-keyspace-events` 等 redis 相关配置
|
|
|
+ *
|
|
|
+ * @param key 缓存的键值
|
|
|
+ * @param listener 监听器配置
|
|
|
+ */
|
|
|
+ public static <T> void addListListener(final String key, final ObjectListener listener) {
|
|
|
+ RList<T> rList = CLIENT.getList(key);
|
|
|
+ rList.addListener(listener);
|
|
|
+ }
|
|
|
+
|
|
|
/**
|
|
|
* 获得缓存的list对象
|
|
|
*
|
|
@@ -234,11 +257,24 @@ public class RedisUtils {
|
|
|
return rSet.addAll(dataSet);
|
|
|
}
|
|
|
|
|
|
+ /**
|
|
|
+ * 注册Set监听器
|
|
|
+ *
|
|
|
+ * key 监听器需开启 `notify-keyspace-events` 等 redis 相关配置
|
|
|
+ *
|
|
|
+ * @param key 缓存的键值
|
|
|
+ * @param listener 监听器配置
|
|
|
+ */
|
|
|
+ public static <T> void addSetListener(final String key, final ObjectListener listener) {
|
|
|
+ RSet<T> rSet = CLIENT.getSet(key);
|
|
|
+ rSet.addListener(listener);
|
|
|
+ }
|
|
|
+
|
|
|
/**
|
|
|
* 获得缓存的set
|
|
|
*
|
|
|
- * @param key
|
|
|
- * @return
|
|
|
+ * @param key 缓存的key
|
|
|
+ * @return set对象
|
|
|
*/
|
|
|
public static <T> Set<T> getCacheSet(final String key) {
|
|
|
RSet<T> rSet = CLIENT.getSet(key);
|
|
@@ -248,8 +284,8 @@ public class RedisUtils {
|
|
|
/**
|
|
|
* 缓存Map
|
|
|
*
|
|
|
- * @param key
|
|
|
- * @param dataMap
|
|
|
+ * @param key 缓存的键值
|
|
|
+ * @param dataMap 缓存的数据
|
|
|
*/
|
|
|
public static <T> void setCacheMap(final String key, final Map<String, T> dataMap) {
|
|
|
if (dataMap != null) {
|
|
@@ -258,11 +294,24 @@ public class RedisUtils {
|
|
|
}
|
|
|
}
|
|
|
|
|
|
+ /**
|
|
|
+ * 注册Map监听器
|
|
|
+ *
|
|
|
+ * key 监听器需开启 `notify-keyspace-events` 等 redis 相关配置
|
|
|
+ *
|
|
|
+ * @param key 缓存的键值
|
|
|
+ * @param listener 监听器配置
|
|
|
+ */
|
|
|
+ public static <T> void addMapListener(final String key, final ObjectListener listener) {
|
|
|
+ RMap<String, T> rMap = CLIENT.getMap(key);
|
|
|
+ rMap.addListener(listener);
|
|
|
+ }
|
|
|
+
|
|
|
/**
|
|
|
* 获得缓存的Map
|
|
|
*
|
|
|
- * @param key
|
|
|
- * @return
|
|
|
+ * @param key 缓存的键值
|
|
|
+ * @return map对象
|
|
|
*/
|
|
|
public static <T> Map<String, T> getCacheMap(final String key) {
|
|
|
RMap<String, T> rMap = CLIENT.getMap(key);
|