疯狂的狮子li
2021-09-03 2d6c306ae113a7dd549a8e415ca075b754470dfc
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 工具类
@@ -21,6 +25,36 @@
   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、String、实体类等
    *
    * @param key   缓存的键值