From 744594ef1a2f530fc3e86ea9dc48b62247f79420 Mon Sep 17 00:00:00 2001 From: admin <weikou2014> Date: 星期二, 19 五月 2020 17:13:23 +0800 Subject: [PATCH] 饿了么绘图,添加口碑 --- fanli/src/main/java/com/yeshi/fanli/util/RedisManager.java | 112 ++++++++++++++++++++++++++++++------------------------- 1 files changed, 61 insertions(+), 51 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..799cb72 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(); } } @@ -148,7 +151,7 @@ public void saveTaoBaoGoodsBriefTemp(TaoBaoGoodsBrief goods) { if (goods == null) return; - String key = "taobao-goods-temp-" + goods.getAuctionId(); + String key = RedisKeyEnum.getRedisKey(RedisKeyEnum.taobaoGoodsTemp, goods.getAuctionId() + ""); if (Constant.IS_OUTNET) { // 鏆傚瓨4涓皬鏃剁殑鍒嗕韩 cacheCommonString(key, JsonUtil.getSimpleGson().toJson(goods), 60 * 60 * 4); @@ -156,7 +159,7 @@ } public TaoBaoGoodsBrief getTaoBaoGoodsTemp(Long auctionId) { - String key = "taobao-goods-temp-" + auctionId; + String key = RedisKeyEnum.getRedisKey(RedisKeyEnum.taobaoGoodsTemp, auctionId + ""); String value = getCommonString(key); if (!StringUtil.isNullOrEmpty(value)) { return JsonUtil.getSimpleGson().fromJson(value, TaoBaoGoodsBrief.class); @@ -170,14 +173,14 @@ * @param auctionId */ public void deleteTaoBaoGoodsBrief(Long auctionId) { - String key = "taobao-goods-" + auctionId; + String key = RedisKeyEnum.getRedisKey(RedisKeyEnum.taobaoGoods, auctionId + ""); if (Constant.IS_OUTNET) removeKey(key); } public TaoBaoGoodsBrief getTaoBaoGoodsBrief(long auctionId) throws TaobaoGoodsDownException { long startTime = System.currentTimeMillis(); - String key = "taobao-goods-" + auctionId; + String key = RedisKeyEnum.getRedisKey(RedisKeyEnum.taobaoGoods, auctionId + ""); String value = ""; if (Constant.IS_OUTNET) value = getCommonString(key); @@ -199,7 +202,7 @@ } public List<ImageInfo> getTaoBaoGoodsDetailImgs(long auctionId) { - String key = "taobao-goods-detailimgs-size-" + auctionId; + String key = RedisKeyEnum.getRedisKey(RedisKeyEnum.taobaoGoodsDetailimgs, auctionId + ""); String value = ""; if (Constant.IS_OUTNET) value = getCommonString(key); @@ -228,7 +231,7 @@ public String getXCXCouponToken(TaoBaoGoodsBrief tb) { List<TaoBaoUnionConfig> configList = taoBaoUnionConfigService.getConfigByTypeCache(PidUser.TYPE_FANLI_ANDROID); - String key = "taobao-couple-xcx-" + tb.getAuctionId(); + String key = RedisKeyEnum.getRedisKey(RedisKeyEnum.taobaoCoupleXCX, tb.getAuctionId() + ""); String value = ""; if (Constant.IS_OUTNET) value = getCommonString(key); @@ -251,7 +254,7 @@ * @param ip */ public boolean ipFrequencyLimit(String ip, String apiName) { - String key = ip + "-" + StringUtil.Md5(apiName); + String key = RedisKeyEnum.getRedisKey(RedisKeyEnum.emptyKey, ip + "-" + StringUtil.Md5(apiName)); Jedis jedis = jedisPool.getResource(); try { long count = jedis.incr(key); @@ -262,7 +265,23 @@ else return false; } finally { - jedisPool.returnResource(jedis); + jedis.close(); + } + } + + public boolean frequencyLimit(String key, int timeS, int num) { + key = RedisKeyEnum.getRedisKey(RedisKeyEnum.frequencyLimit, 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(); } } @@ -273,7 +292,7 @@ * @return */ public List<String> getTBImg(Long auctionId) { - String key = "taobao-img-" + auctionId; + String key = RedisKeyEnum.getRedisKey(RedisKeyEnum.taobaoImgs, auctionId + ""); String value = ""; if (Constant.IS_OUTNET) value = getCommonString(key); @@ -302,7 +321,7 @@ * @return */ public TaoBaoShopInfo getTBShopInfo(String shopTitle, Long sellerId, Long auctionId) { - String key = "taobao-shop-" + sellerId; + String key = RedisKeyEnum.getRedisKey(RedisKeyEnum.taobaoShop, sellerId +""); String value = ""; if (Constant.IS_OUTNET) value = getCommonString(key); @@ -351,7 +370,7 @@ public boolean isSmsFrequencyLimit(String phone, int type) { if (!Constant.IS_OUTNET) return false; - String key = "sms-" + phone + "-" + type; + String key = RedisKeyEnum.getRedisKey(RedisKeyEnum.SMS, phone + "-" + type); String value = getCommonString(key); if (StringUtil.isNullOrEmpty(value)) return false; @@ -368,14 +387,14 @@ public void sendSms(String phone, int type) { if (!Constant.IS_OUTNET) return; - String key = "sms-" + phone + "-" + type; + String key = RedisKeyEnum.getRedisKey(RedisKeyEnum.SMS, phone + "-" + type); setString(key, "1", 10); } public void clearSMSFrequencyLimit(String phone, int type) { if (!Constant.IS_OUTNET) return; - String key = "sms-" + phone + "-" + type; + String key = RedisKeyEnum.getRedisKey(RedisKeyEnum.SMS, phone + "-" + type); removeKey(key); } @@ -388,7 +407,7 @@ */ public void saveSMSVCode(String phone, int type, String code) { - String key = "smscode-" + phone + "-" + type; + String key = RedisKeyEnum.getRedisKey(RedisKeyEnum.SMSVCode, phone + "-" + type); // 淇濆瓨2鍒嗛挓 setString(key, code, 120); } @@ -400,9 +419,9 @@ * @return */ public String getSMSVCode(String phone, int type) { -// if (!Constant.IS_OUTNET) -// return ""; - String key = "smscode-" + phone + "-" + type; + // if (!Constant.IS_OUTNET) + // return ""; + String key = RedisKeyEnum.getRedisKey(RedisKeyEnum.SMSVCode, phone + "-" + type); // 淇濆瓨2鍒嗛挓 return getString(key); } @@ -415,9 +434,9 @@ * @param code */ public void clearSMSVCode(String phone, int type) { -// if (!Constant.IS_OUTNET) -// return; - String key = "smscode-" + phone + "-" + type; + // if (!Constant.IS_OUTNET) + // return; + String key = RedisKeyEnum.getRedisKey(RedisKeyEnum.SMSVCode, phone + "-" + type); removeKey(key); } @@ -425,8 +444,7 @@ * 淇濆瓨缁戝畾鏀粯瀹濈煭淇¢獙璇佺爜鐨勬纭�� */ public void saveBindAlipayAccountSMSState(String phone) { - String key = "smsstate-alipay-" + phone; - + String key = RedisKeyEnum.getRedisKey(RedisKeyEnum.SMSStateAlipay, phone + "" ); // 楠岃瘉鍚庡崄鍒嗛挓鏈夋晥 setString(key, "1", 10 * 60); } @@ -438,7 +456,7 @@ * @return */ public boolean isBindAlipayAccountSMSStateValid(String phone) { - String key = "smsstate-alipay-" + phone; + String key = RedisKeyEnum.getRedisKey(RedisKeyEnum.SMSStateAlipay, phone + "" ); return !StringUtil.isNullOrEmpty(getString(key)); } @@ -450,8 +468,7 @@ */ public void setInviteShortLink(long uid, String shortlink) { String value = ""; - String key = "invite-shortlink-" + uid; - + String key = RedisKeyEnum.getRedisKey(RedisKeyEnum.inviteShortLink, uid + "" ); if (Constant.IS_OUTNET) { value = getCommonString(key); @@ -470,10 +487,8 @@ * @return */ public String getInviteShortLink(long uid) { - String value = ""; - String key = "invite-shortlink-" + uid; - + String key = RedisKeyEnum.getRedisKey(RedisKeyEnum.inviteShortLink, uid + "" ); if (Constant.IS_OUTNET) value = getCommonString(key); @@ -487,7 +502,7 @@ * @param token */ public void saveCommonTaoToken(Long auctionId, String token) { - String key = "taobao-common-token-" + auctionId; + String key = RedisKeyEnum.getRedisKey(RedisKeyEnum.taobaoTokenCommon, auctionId + "" ); if (Constant.IS_OUTNET) { if (!StringUtil.isNullOrEmpty(token)) { // 鍙d护缂撳瓨10澶� @@ -503,8 +518,7 @@ * @return */ public String getCommonTaoToken(Long auctionId) { - String key = "taobao-common-token-" + auctionId; - + String key = RedisKeyEnum.getRedisKey(RedisKeyEnum.taobaoTokenCommon, auctionId + "" ); if (Constant.IS_OUTNET) { return getCommonString(key); } @@ -518,7 +532,7 @@ * @param token */ public void saveTLJToken(String url, String token) { - String key = "taobao-tlj-token-" + StringUtil.Md5(url); + String key = RedisKeyEnum.getRedisKey(RedisKeyEnum.taobaoTokenTLJ, StringUtil.Md5(url)); if (Constant.IS_OUTNET) { if (!StringUtil.isNullOrEmpty(token)) { // 鍙d护缂撳瓨10澶� @@ -534,8 +548,7 @@ * @return */ public String getTLJToken(String url) { - String key = "taobao-common-token-" + StringUtil.Md5(url); - + String key = RedisKeyEnum.getRedisKey(RedisKeyEnum.taobaoTokenTLJ, StringUtil.Md5(url)); if (Constant.IS_OUTNET) { return getCommonString(key); } @@ -549,7 +562,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 +613,9 @@ String value = getCommonString(key); return JsonUtil.jsonToList(value, clazz); } - - + public JDGoods getJDGoods(long goodsId) { - String key = "jingdong-goods-" + goodsId; - + String key = RedisKeyEnum.getRedisKey(RedisKeyEnum.jingDongGoods, goodsId +""); String value = getCommonString(key); if (StringUtil.isNullOrEmpty(value)) { JDGoods jdGoods = JDApiUtil.queryGoodsDetail(goodsId); @@ -615,17 +626,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 key = RedisKeyEnum.getRedisKey(RedisKeyEnum.pinDuoDuoGoods, goodsId +""); + String value = getCommonString(key); if (StringUtil.isNullOrEmpty(value)) { PDDGoodsDetail pddGoods = PinDuoDuoApiUtil.getGoodsDetail(goodsId); @@ -633,7 +643,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