| | |
| | | @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; |
| | | } |
| | | |
| | | } |