From d029dafc262bc3c8ddc8ca6b85e4fa6e073d764a Mon Sep 17 00:00:00 2001 From: yujian <yujian@163.com> Date: 星期三, 01 一月 2020 14:38:47 +0800 Subject: [PATCH] Merge branch 'div' of ssh://193.112.35.168:29418/fanli-server into div --- fanli/src/main/java/com/yeshi/fanli/util/RedisManager.java | 57 +++++++++++++++++++++++++++++++++++++-------------------- 1 files changed, 37 insertions(+), 20 deletions(-) diff --git a/fanli/src/main/java/com/yeshi/fanli/util/RedisManager.java b/fanli/src/main/java/com/yeshi/fanli/util/RedisManager.java index cefac55..894ad88 100644 --- a/fanli/src/main/java/com/yeshi/fanli/util/RedisManager.java +++ b/fanli/src/main/java/com/yeshi/fanli/util/RedisManager.java @@ -31,6 +31,7 @@ import net.sf.json.JSONArray; import redis.clients.jedis.Jedis; import redis.clients.jedis.JedisPool; +import redis.clients.jedis.params.SetParams; //鎶㈢孩鍖呴噰鐢ㄧ殑redis @Component @@ -56,10 +57,12 @@ */ private void setString(String key, String value) { Jedis jedis = jedisPool.getResource(); + SetParams params=new SetParams().nx().ex(60); + jedis.set(key, value, params); try { jedis.set(key, value); } finally { - jedisPool.returnResource(jedis); + jedis.close(); } } @@ -75,7 +78,7 @@ try { jedis.del(key); } finally { - jedisPool.returnResource(jedis); + jedis.close(); } } @@ -93,7 +96,7 @@ try { jedis.setex(key, seconds, value); } finally { - jedisPool.returnResource(jedis); + jedis.close(); } } @@ -102,7 +105,7 @@ try { return jedis.get(key); } finally { - jedisPool.returnResource(jedis); + jedis.close(); } } @@ -111,7 +114,7 @@ try { jedis.incr(key); } finally { - jedisPool.returnResource(jedis); + jedis.close(); } } @@ -120,7 +123,7 @@ try { jedis.expire(key, seconds); } finally { - jedisPool.returnResource(jedis); + jedis.close(); } } @@ -262,7 +265,23 @@ else return false; } finally { - jedisPool.returnResource(jedis); + jedis.close(); + } + } + + public boolean frequencyLimit(String key, int timeS, int num) { + key = "frequency-" + key; + Jedis jedis = jedisPool.getResource(); + try { + long count = jedis.incr(key); + if (count == 1) + jedis.expire(key, timeS); + if (count >= num) + return true; + else + return false; + } finally { + jedis.close(); } } @@ -400,8 +419,8 @@ * @return */ public String getSMSVCode(String phone, int type) { -// if (!Constant.IS_OUTNET) -// return ""; + // if (!Constant.IS_OUTNET) + // return ""; String key = "smscode-" + phone + "-" + type; // 淇濆瓨2鍒嗛挓 return getString(key); @@ -415,8 +434,8 @@ * @param code */ public void clearSMSVCode(String phone, int type) { -// if (!Constant.IS_OUTNET) -// return; + // if (!Constant.IS_OUTNET) + // return; String key = "smscode-" + phone + "-" + type; removeKey(key); } @@ -549,7 +568,7 @@ * @param key * @param seconds */ - public void saveObj(Class<?> clazz, String key, Integer seconds) { + public void saveObj(Object clazz, String key, Integer seconds) { if (clazz == null) return; String value = new Gson().toJson(clazz); @@ -600,11 +619,10 @@ String value = getCommonString(key); return JsonUtil.jsonToList(value, clazz); } - - + public JDGoods getJDGoods(long goodsId) { String key = "jingdong-goods-" + goodsId; - + String value = getCommonString(key); if (StringUtil.isNullOrEmpty(value)) { JDGoods jdGoods = JDApiUtil.queryGoodsDetail(goodsId); @@ -615,17 +633,16 @@ // 缂撳瓨20鍒嗛挓 if (jdGoods != null) cacheCommonString(key, JsonUtil.getSimpleGson().toJson(jdGoods), 60 * 20); - + return jdGoods; } else {// 鐩存帴鍙栫紦瀛� return JsonUtil.getSimpleGson().fromJson(value, JDGoods.class); } } - - + public PDDGoodsDetail getPDDGoodsDetail(long goodsId) { String key = "pinduoduo-goods-" + goodsId; - + String value = getCommonString(key); if (StringUtil.isNullOrEmpty(value)) { PDDGoodsDetail pddGoods = PinDuoDuoApiUtil.getGoodsDetail(goodsId); @@ -633,7 +650,7 @@ // 缂撳瓨20鍒嗛挓 if (pddGoods != null) cacheCommonString(key, JsonUtil.getSimpleGson().toJson(pddGoods), 60 * 20); - + return pddGoods; } else {// 鐩存帴鍙栫紦瀛� return JsonUtil.getSimpleGson().fromJson(value, PDDGoodsDetail.class); -- Gitblit v1.8.0