From e7f83fb6952e2c9a579491afbd24e83e7261682b Mon Sep 17 00:00:00 2001 From: 疯狂的狮子li <15040126243@163.com> Date: 星期一, 06 九月 2021 10:19:58 +0800 Subject: [PATCH] update mybatis-plus 3.4.3 => 3.4.3.3 适配升级 (包含不兼容升级) 请详细阅读 mybatis-plus 官方升级文档 --- ruoyi-common/src/main/java/com/ruoyi/common/core/redis/RedisCache.java | 50 ++++++++++++++++++++++++++++++++++++++++++++------ 1 files changed, 44 insertions(+), 6 deletions(-) diff --git a/ruoyi-common/src/main/java/com/ruoyi/common/core/redis/RedisCache.java b/ruoyi-common/src/main/java/com/ruoyi/common/core/redis/RedisCache.java index 6c4c239..8e68d3c 100644 --- a/ruoyi-common/src/main/java/com/ruoyi/common/core/redis/RedisCache.java +++ b/ruoyi-common/src/main/java/com/ruoyi/common/core/redis/RedisCache.java @@ -5,8 +5,12 @@ import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Component; -import java.util.*; +import java.util.Collection; +import java.util.List; +import java.util.Map; +import java.util.Set; import java.util.concurrent.TimeUnit; +import java.util.function.Consumer; /** * spring redis 宸ュ叿绫� @@ -19,6 +23,36 @@ @Autowired private RedissonClient redissonClient; + + /** + * 鍙戝竷閫氶亾娑堟伅 + * + * @param channelKey 閫氶亾key + * @param msg 鍙戦�佹暟鎹� + * @param consumer 鑷畾涔夊鐞� + */ + public <T> void publish(String channelKey, T msg, Consumer<T> consumer) { + RTopic topic = redissonClient.getTopic(channelKey); + topic.publish(msg); + consumer.accept(msg); + } + + public <T> void publish(String channelKey, T msg) { + RTopic topic = redissonClient.getTopic(channelKey); + topic.publish(msg); + } + + /** + * 璁㈤槄閫氶亾鎺ユ敹娑堟伅 + * + * @param channelKey 閫氶亾key + * @param clazz 娑堟伅绫诲瀷 + * @param consumer 鑷畾涔夊鐞� + */ + public <T> void subscribe(String channelKey, Class<T> clazz, Consumer<T> consumer) { + RTopic topic = redissonClient.getTopic(channelKey); + topic.addListener(clazz, (channel, msg) -> consumer.accept(msg)); + } /** * 缂撳瓨鍩烘湰鐨勫璞★紝Integer銆丼tring銆佸疄浣撶被绛� @@ -96,8 +130,12 @@ * @param collection 澶氫釜瀵硅薄 * @return */ - public long deleteObject(final Collection collection) { - return redissonClient.getKeys().delete(Arrays.toString(collection.toArray())); + public void deleteObject(final Collection collection) { + RBatch batch = redissonClient.createBatch(); + collection.forEach(t->{ + batch.getBucket(t.toString()).deleteAsync(); + }); + batch.execute(); } /** @@ -201,9 +239,9 @@ * @param hKeys Hash閿泦鍚� * @return Hash瀵硅薄闆嗗悎 */ - public <T> List<T> getMultiCacheMapValue(final String key, final Collection<Object> hKeys) { - RListMultimap rListMultimap = redissonClient.getListMultimap(key); - return rListMultimap.getAll(hKeys); + public <K,V> Map<K,V> getMultiCacheMapValue(final String key, final Set<K> hKeys) { + RMap<K,V> rMap = redissonClient.getMap(key); + return rMap.getAll(hKeys); } /** -- Gitblit v1.9.3