From cf9481d1c3798c1336848a1706d9bd5f43f69464 Mon Sep 17 00:00:00 2001 From: xjs <1294405880@qq.com> Date: Wed, 12 Jan 2022 15:10:05 +0800 Subject: [PATCH] =?UTF-8?q?1=E3=80=81=E5=90=8E=E7=AB=AF=E6=8A=96=E9=9F=B3?= =?UTF-8?q?=E3=80=81=E5=BE=AE=E5=8D=9A=E7=83=AD=E6=90=9C=E6=95=B0=E6=8D=AE?= =?UTF-8?q?=E6=94=BE=E5=85=A5redis=2010=E5=88=86=E9=92=9F=E5=88=B7?= =?UTF-8?q?=E6=96=B0?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../main/java/com/xjs/consts/RedisConst.java | 13 ++++++++--- .../controller/ApiTopSearchController.java | 15 ++++++++++++ .../impl/TianXingTopsearchDouyinFactory.java | 2 +- .../xjs/common/task/DeleteRepeatTaskTest.java | 23 +++++++++++++++++++ 4 files changed, 49 insertions(+), 4 deletions(-) create mode 100644 xjs-business/xjs-business-openapi/src/test/java/com/xjs/common/task/DeleteRepeatTaskTest.java diff --git a/xjs-business/xjs-business-common/src/main/java/com/xjs/consts/RedisConst.java b/xjs-business/xjs-business-common/src/main/java/com/xjs/consts/RedisConst.java index 9d5438ed..2ce15935 100644 --- a/xjs-business/xjs-business-common/src/main/java/com/xjs/consts/RedisConst.java +++ b/xjs-business/xjs-business-common/src/main/java/com/xjs/consts/RedisConst.java @@ -2,7 +2,7 @@ package com.xjs.consts; /** * @author xiejs - * @desc redis key常量 + * @desc redis key常量 * @create 2021-12-30 */ public class RedisConst { @@ -12,12 +12,17 @@ public class RedisConst { /** * 翻译字典常量key */ - public static final String TRAN_DICT= "tranDict"; + public static final String TRAN_DICT = "tranDict"; /** * 英语一言常量key */ - public static final String ONE_ENGLISH= "oneEnglish"; + public static final String ONE_ENGLISH = "oneEnglish"; + + /** + * 热搜常量key + */ + public static final String HOT = "hot"; //-------------------有效时间----------------------- @@ -25,4 +30,6 @@ public class RedisConst { public static final Integer ONE_ENGLISH_EXPIRE = 3; //分钟 + public static final Long HOT_EXPIRE = 10L; //分钟 + } diff --git a/xjs-business/xjs-business-openapi/src/main/java/com/xjs/topsearch/controller/ApiTopSearchController.java b/xjs-business/xjs-business-openapi/src/main/java/com/xjs/topsearch/controller/ApiTopSearchController.java index 7f40d6f9..1b42a852 100644 --- a/xjs-business/xjs-business-openapi/src/main/java/com/xjs/topsearch/controller/ApiTopSearchController.java +++ b/xjs-business/xjs-business-openapi/src/main/java/com/xjs/topsearch/controller/ApiTopSearchController.java @@ -2,6 +2,7 @@ package com.xjs.topsearch.controller; import com.ruoyi.common.core.web.domain.AjaxResult; import com.ruoyi.common.log.annotation.Log; +import com.ruoyi.common.redis.service.RedisService; import com.ruoyi.common.security.annotation.RequiresLogin; import com.xjs.topsearch.domain.*; import com.xjs.topsearch.factory.TopserachFactory; @@ -17,6 +18,10 @@ import org.springframework.web.bind.annotation.RestController; import java.util.HashMap; import java.util.List; import java.util.Map; +import java.util.concurrent.TimeUnit; + +import static com.xjs.consts.RedisConst.HOT; +import static com.xjs.consts.RedisConst.HOT_EXPIRE; /** * 热搜榜控制器 @@ -39,6 +44,8 @@ public class ApiTopSearchController { private TopserachFactory tianXingTopsearchWeiboFactory; @Autowired private TopserachFactory tianXingTopsearchDouyinFactory; + @Autowired + private RedisService redisService; @GetMapping @@ -46,6 +53,11 @@ public class ApiTopSearchController { @Log(title = "获取热搜榜") @RequiresLogin public AjaxResult topSearch() { + if (redisService.hasKey(HOT)) { + Map cacheObject = redisService.getCacheObject(HOT); + return AjaxResult.success(cacheObject); + } + //获取全网热搜 List allnetworkList = tianXingTopsearchAllnetworkFactory.topSearchApi(); //获取微博热搜 @@ -63,6 +75,9 @@ public class ApiTopSearchController { listHashMap.put("baiduList", baiduList); listHashMap.put("weiboList", weiboList); listHashMap.put("douyinList", douyinList); + + //把数据存入redis,十分钟过期 + redisService.setCacheObject(HOT,listHashMap,HOT_EXPIRE, TimeUnit.MINUTES); return AjaxResult.success(listHashMap); } diff --git a/xjs-business/xjs-business-openapi/src/main/java/com/xjs/topsearch/factory/impl/TianXingTopsearchDouyinFactory.java b/xjs-business/xjs-business-openapi/src/main/java/com/xjs/topsearch/factory/impl/TianXingTopsearchDouyinFactory.java index d90136f4..47ce3b9f 100644 --- a/xjs-business/xjs-business-openapi/src/main/java/com/xjs/topsearch/factory/impl/TianXingTopsearchDouyinFactory.java +++ b/xjs-business/xjs-business-openapi/src/main/java/com/xjs/topsearch/factory/impl/TianXingTopsearchDouyinFactory.java @@ -63,7 +63,7 @@ public class TianXingTopsearchDouyinFactory implements TopserachFactory