admin
2021-02-04 e8e342cd6c1334f1b8f71d24baa3157637a9ac43
src/main/java/com/yeshi/buwan/util/RedisManager.java
@@ -17,173 +17,195 @@
@Component
public class RedisManager {
   @Resource
   private JedisPool jedisPool;
    @Resource
    private JedisPool jedisPool;
   public Jedis getJedis() {
      Jedis jedis = jedisPool.getResource();
      return jedis;
   }
    public Jedis getJedis() {
        Jedis jedis = jedisPool.getResource();
        return jedis;
    }
   /**
    * 缓存字符串
    *
    * @param key
    * @param value
    */
   private void setString(String key, String value) {
      Jedis jedis = getJedis();
      SetParams params = new SetParams().nx().ex(60);
      jedis.set(key, value, params);
      try {
         jedis.set(key, value);
      } finally {
         jedis.close();
      }
    /**
     * 缓存字符串
     *
     * @param key
     * @param value
     */
    private void setString(String key, String value) {
        Jedis jedis = getJedis();
        SetParams params = new SetParams().nx().ex(60);
        jedis.set(key, value, params);
        try {
            jedis.set(key, value);
        } finally {
            jedis.close();
        }
   }
    }
   /**
    * 删除某个键值
    *
    * @param key
    * @param value
    */
   private void removeKey(String key) {
      Jedis jedis = getJedis();
      try {
         jedis.del(key);
      } finally {
         jedis.close();
      }
    /**
     * 删除某个键值
     *
     * @param key
     * @param value
     */
    private void removeKey(String key) {
        Jedis jedis = getJedis();
        try {
            jedis.del(key);
        } finally {
            jedis.close();
        }
   }
    }
   /**
    * 缓存字符串
    *
    * @param key
    * @param value
    * @param seconds
    *            -缓存时间(s)
    */
   private void setString(String key, String value, int seconds) {
      Jedis jedis = getJedis();
      try {
         jedis.setex(key, seconds, value);
      } finally {
         jedis.close();
      }
   }
    /**
     * 缓存字符串
     *
     * @param key
     * @param value
     * @param seconds -缓存时间(s)
     */
    private void setString(String key, String value, int seconds) {
        Jedis jedis = getJedis();
        try {
            jedis.setex(key, seconds, value);
        } finally {
            jedis.close();
        }
    }
   private String getString(String key) {
      Jedis jedis = getJedis();
      try {
         return jedis.get(key);
      } finally {
         jedis.close();
      }
   }
    private String getString(String key) {
        Jedis jedis = getJedis();
        try {
            return jedis.get(key);
        } finally {
            jedis.close();
        }
    }
   public void increase(String key) {
      Jedis jedis = getJedis();
      try {
         jedis.incr(key);
      } finally {
         jedis.close();
      }
   }
    public void increase(String key) {
        Jedis jedis = getJedis();
        try {
            jedis.incr(key);
        } finally {
            jedis.close();
        }
    }
   public void expire(String key, int seconds) {
      Jedis jedis = getJedis();
      try {
         jedis.expire(key, seconds);
      } finally {
         jedis.close();
      }
   }
   public void cacheCommonString(String key, String value, int seconds) {
      setString(key, value, seconds);
   }
    public void increase(String key,int s) {
        Jedis jedis = getJedis();
        try {
            jedis.incr(key);
            jedis.expire(key, s);
        } finally {
            jedis.close();
        }
    }
   public void cacheCommonString(String key, String value) {
      setString(key, value);
   }
    public void expire(String key, int seconds) {
        Jedis jedis = getJedis();
        try {
            jedis.expire(key, seconds);
        } finally {
            jedis.close();
        }
    }
   public String getCommonString(String key) {
      return getString(key);
   }
    public void cacheCommonString(String key, String value, int seconds) {
        setString(key, value, seconds);
    }
   public void removeCommonString(String key) {
      removeKey(key);
   }
    public void cacheCommonString(String key, String value) {
        setString(key, value);
    }
   /**
    * 保存视频数据
    *
    * @param key
    * @param videoData
    */
   public void saveVideoList(String key, VideoListResultVO videoData) {
      Gson gson = new Gson();
      cacheCommonString(key, gson.toJson(videoData), 60 * 60 * 24);
   }
    public String getCommonString(String key) {
        return getString(key);
    }
   /**
    * 获取视频列表
    *
    * @param key
    * @return
    */
   public VideoListResultVO getVideoList(String key) {
      String st = getCommonString(key);
      if (!StringUtil.isNullOrEmpty(st)) {
         return new Gson().fromJson(st, VideoListResultVO.class);
      }
      return null;
   }
    public void removeCommonString(String key) {
        removeKey(key);
    }
   /**
    * 保存列表
    *
    * @param clazzList
    * @param key
    * @param seconds
    */
   public <T> T saveObjList(List<T> clazzList, String key, Integer seconds) {
      if (clazzList == null)
         return null;
      String value = new Gson().toJson(clazzList);
      if (seconds != null)
         cacheCommonString(key, value, seconds);
      else
         cacheCommonString(key, value);
      return null;
   }
    /**
     * 保存视频数据
     *
     * @param key
     * @param videoData
     */
    public void saveVideoList(String key, VideoListResultVO videoData) {
        Gson gson = new Gson();
        cacheCommonString(key, gson.toJson(videoData), 60 * 60 * 24);
    }
   /**
    * 获取对象
    *
    * @param clazz
    * @param key
    * @return
    */
   public Class<?> getObj(Class<?> clazz, String key) {
      String value = getCommonString(key);
      return (Class<?>) new Gson().fromJson(value, clazz);
   }
    /**
     * 获取视频列表
     *
     * @param key
     * @return
     */
    public VideoListResultVO getVideoList(String key) {
        String st = getCommonString(key);
        if (!StringUtil.isNullOrEmpty(st)) {
            return new Gson().fromJson(st, VideoListResultVO.class);
        }
        return null;
    }
   /**
    * 获取列表
    *
    * @param clazz
    * @param key
    * @return
    */
   public <T> List<T> getObjList(Class<T> clazz, String key) {
      String value = getCommonString(key);
      return JsonUtil.jsonToList(value, clazz);
   }
    /**
     * 保存列表
     *
     * @param clazzList
     * @param key
     * @param seconds
     */
    public <T> T saveObjList(List<T> clazzList, String key, Integer seconds) {
        if (clazzList == null)
            return null;
        String value = new Gson().toJson(clazzList);
        if (seconds != null)
            cacheCommonString(key, value, seconds);
        else
            cacheCommonString(key, value);
        return null;
    }
    /**
     * 获取对象
     *
     * @param clazz
     * @param key
     * @return
     */
    public Class<?> getObj(Class<?> clazz, String key) {
        String value = getCommonString(key);
        return (Class<?>) new Gson().fromJson(value, clazz);
    }
    /**
     * 获取列表
     *
     * @param clazz
     * @param key
     * @return
     */
    public <T> List<T> getObjList(Class<T> clazz, String key) {
        String value = getCommonString(key);
        return JsonUtil.jsonToList(value, clazz);
    }
    public boolean isSmsFrequencyLimit(String phone, Integer type) {
        if (type == null) {
            type = 0;
        }
        String key = RedisKeyEnum.getRedisKey(RedisKeyEnum.SMSVCode, phone + "-" + type);
        String value = getCommonString(key);
        if (StringUtil.isNullOrEmpty(value))
            return false;
        else
            return true;
    }
}