Przeglądaj źródła

直播间定时刷新数据修改

yuhongqi 6 dni temu
rodzic
commit
972047e4b7

+ 3 - 1
fs-live-socket/src/main/java/com/fs/live/task/Task.java

@@ -49,6 +49,7 @@ import java.text.ParseException;
 import java.time.Instant;
 import java.time.LocalDateTime;
 import java.util.*;
+import java.util.concurrent.TimeUnit;
 import java.util.stream.Collectors;
 
 import static com.fs.common.constant.LiveKeysConstant.*;
@@ -410,7 +411,7 @@ public class Task {
     /**
      *定期将缓存的数据写入数据库
      */
-    @Scheduled(fixedRate = 60000) // 每分钟执行一次
+    @Scheduled(cron = "0 0/1 * * * ?")// 每分钟执行一次
     public void syncLiveDataToDB() {
         List<LiveData> liveDatas = liveDataService.getAllLiveDatas(); // 获取所有正在直播的直播间数据
         if(liveDatas == null)
@@ -419,6 +420,7 @@ public class Task {
             Long likeCount = Long.valueOf(redisCache.getCacheObject("live:like:" + liveData.getLiveId()));
             long resultLikeCount = liveData.getLikes() + (Objects.isNull(likeCount) ? 0L : likeCount);
             redisCache.setCacheObject("live:like:" + liveData.getLiveId(), resultLikeCount);
+            redisCache.expire("live:like:" + liveData.getLiveId(), 30, TimeUnit.MINUTES);
             liveData.setLikes(
                     resultLikeCount
             );