1、后端抖音、微博热搜数据放入redis 10分钟刷新
This commit is contained in:
parent
d9a7b8b0b3
commit
cf9481d1c3
|
|
@ -2,7 +2,7 @@ package com.xjs.consts;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* @author xiejs
|
* @author xiejs
|
||||||
* @desc redis key常量
|
* @desc redis key常量
|
||||||
* @create 2021-12-30
|
* @create 2021-12-30
|
||||||
*/
|
*/
|
||||||
public class RedisConst {
|
public class RedisConst {
|
||||||
|
|
@ -12,12 +12,17 @@ public class RedisConst {
|
||||||
/**
|
/**
|
||||||
* 翻译字典常量key
|
* 翻译字典常量key
|
||||||
*/
|
*/
|
||||||
public static final String TRAN_DICT= "tranDict";
|
public static final String TRAN_DICT = "tranDict";
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 英语一言常量key
|
* 英语一言常量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 Integer ONE_ENGLISH_EXPIRE = 3; //分钟
|
||||||
|
|
||||||
|
public static final Long HOT_EXPIRE = 10L; //分钟
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -2,6 +2,7 @@ package com.xjs.topsearch.controller;
|
||||||
|
|
||||||
import com.ruoyi.common.core.web.domain.AjaxResult;
|
import com.ruoyi.common.core.web.domain.AjaxResult;
|
||||||
import com.ruoyi.common.log.annotation.Log;
|
import com.ruoyi.common.log.annotation.Log;
|
||||||
|
import com.ruoyi.common.redis.service.RedisService;
|
||||||
import com.ruoyi.common.security.annotation.RequiresLogin;
|
import com.ruoyi.common.security.annotation.RequiresLogin;
|
||||||
import com.xjs.topsearch.domain.*;
|
import com.xjs.topsearch.domain.*;
|
||||||
import com.xjs.topsearch.factory.TopserachFactory;
|
import com.xjs.topsearch.factory.TopserachFactory;
|
||||||
|
|
@ -17,6 +18,10 @@ import org.springframework.web.bind.annotation.RestController;
|
||||||
import java.util.HashMap;
|
import java.util.HashMap;
|
||||||
import java.util.List;
|
import java.util.List;
|
||||||
import java.util.Map;
|
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<ApiTopsearchWeibo> tianXingTopsearchWeiboFactory;
|
private TopserachFactory<ApiTopsearchWeibo> tianXingTopsearchWeiboFactory;
|
||||||
@Autowired
|
@Autowired
|
||||||
private TopserachFactory<ApiTopsearchDouyin> tianXingTopsearchDouyinFactory;
|
private TopserachFactory<ApiTopsearchDouyin> tianXingTopsearchDouyinFactory;
|
||||||
|
@Autowired
|
||||||
|
private RedisService redisService;
|
||||||
|
|
||||||
|
|
||||||
@GetMapping
|
@GetMapping
|
||||||
|
|
@ -46,6 +53,11 @@ public class ApiTopSearchController {
|
||||||
@Log(title = "获取热搜榜")
|
@Log(title = "获取热搜榜")
|
||||||
@RequiresLogin
|
@RequiresLogin
|
||||||
public AjaxResult topSearch() {
|
public AjaxResult topSearch() {
|
||||||
|
if (redisService.hasKey(HOT)) {
|
||||||
|
Map<String, List> cacheObject = redisService.getCacheObject(HOT);
|
||||||
|
return AjaxResult.success(cacheObject);
|
||||||
|
}
|
||||||
|
|
||||||
//获取全网热搜
|
//获取全网热搜
|
||||||
List<ApiTopsearchAllnetwork> allnetworkList = tianXingTopsearchAllnetworkFactory.topSearchApi();
|
List<ApiTopsearchAllnetwork> allnetworkList = tianXingTopsearchAllnetworkFactory.topSearchApi();
|
||||||
//获取微博热搜
|
//获取微博热搜
|
||||||
|
|
@ -63,6 +75,9 @@ public class ApiTopSearchController {
|
||||||
listHashMap.put("baiduList", baiduList);
|
listHashMap.put("baiduList", baiduList);
|
||||||
listHashMap.put("weiboList", weiboList);
|
listHashMap.put("weiboList", weiboList);
|
||||||
listHashMap.put("douyinList", douyinList);
|
listHashMap.put("douyinList", douyinList);
|
||||||
|
|
||||||
|
//把数据存入redis,十分钟过期
|
||||||
|
redisService.setCacheObject(HOT,listHashMap,HOT_EXPIRE, TimeUnit.MINUTES);
|
||||||
return AjaxResult.success(listHashMap);
|
return AjaxResult.success(listHashMap);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -63,7 +63,7 @@ public class TianXingTopsearchDouyinFactory implements TopserachFactory<ApiTopse
|
||||||
default:
|
default:
|
||||||
apiTopsearchDouyin.setLabel("-");
|
apiTopsearchDouyin.setLabel("-");
|
||||||
}
|
}
|
||||||
apiTopsearchDouyin.setWord(json.getString("hotindex"));
|
apiTopsearchDouyin.setWord(json.getString("word"));
|
||||||
return apiTopsearchDouyin;
|
return apiTopsearchDouyin;
|
||||||
}).collect(Collectors.toList());
|
}).collect(Collectors.toList());
|
||||||
log.info("抖音热搜批量插入成功了嘛---" + apiTopsearchDouyinService.saveBatch(collect));
|
log.info("抖音热搜批量插入成功了嘛---" + apiTopsearchDouyinService.saveBatch(collect));
|
||||||
|
|
|
||||||
|
|
@ -0,0 +1,23 @@
|
||||||
|
package com.xjs.common.task;
|
||||||
|
|
||||||
|
import com.xjs.XjsOpenApiApp;
|
||||||
|
import org.junit.jupiter.api.Test;
|
||||||
|
import org.springframework.beans.factory.annotation.Autowired;
|
||||||
|
import org.springframework.boot.test.context.SpringBootTest;
|
||||||
|
|
||||||
|
import static org.junit.jupiter.api.Assertions.*;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @author xiejs
|
||||||
|
* @since 2022-01-12
|
||||||
|
*/
|
||||||
|
@SpringBootTest(classes = XjsOpenApiApp.class)
|
||||||
|
class DeleteRepeatTaskTest {
|
||||||
|
@Autowired
|
||||||
|
private DeleteRepeatTask deleteRepeatTask;
|
||||||
|
|
||||||
|
@Test
|
||||||
|
void execute() {
|
||||||
|
deleteRepeatTask.execute();
|
||||||
|
}
|
||||||
|
}
|
||||||
Loading…
Reference in New Issue