1、后端抖音、微博热搜数据放入redis 10分钟刷新

pull/254/head
xjs 4 years ago
parent d9a7b8b0b3
commit cf9481d1c3

@ -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; //分钟
}

@ -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<ApiTopsearchWeibo> tianXingTopsearchWeiboFactory;
@Autowired
private TopserachFactory<ApiTopsearchDouyin> tianXingTopsearchDouyinFactory;
@Autowired
private RedisService redisService;
@GetMapping
@ -46,6 +53,11 @@ public class ApiTopSearchController {
@Log(title = "获取热搜榜")
@RequiresLogin
public AjaxResult topSearch() {
if (redisService.hasKey(HOT)) {
Map<String, List> cacheObject = redisService.getCacheObject(HOT);
return AjaxResult.success(cacheObject);
}
//获取全网热搜
List<ApiTopsearchAllnetwork> 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);
}

@ -63,7 +63,7 @@ public class TianXingTopsearchDouyinFactory implements TopserachFactory<ApiTopse
default:
apiTopsearchDouyin.setLabel("-");
}
apiTopsearchDouyin.setWord(json.getString("hotindex"));
apiTopsearchDouyin.setWord(json.getString("word"));
return apiTopsearchDouyin;
}).collect(Collectors.toList());
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…
Cancel
Save