微信亿级在线点赞体系,用Redis怎样实现?
UserLike ul = getByLikedUserIdAndLikedPostId(like.getLikedUserId(), like.getLikedPostId()); if (ul == null){ //没有记录,直接存入 save(like); }else{ //有记录,必要更新 ul.setStatus(like.getStatus()); save(ul); } } }
@Override @Transactional public void transLikedCountFromRedis2DB() { List<LikedCountDTO> list = redisService.getLikedCountFromRedis(); for (LikedCountDTO dto : list) { UserInfo user = userService.findById(dto.getId()); //点赞数目属于无关紧急的操纵,堕落无需抛非常 if (user != null){ Integer likeNum = user.getLikeNum() + dto.getCount(); user.setLikeNum(likeNum); //更新点赞数目 userService.updateInfo(user); } } } } 数据库的操纵就这些,首要照旧增编削查。 开启按时使命耐久化存储到数据库 按时使命 Quartz 很强盛,就用它了。Quartz 行使步调如下: ①添加依靠 <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-quartz</artifactId> </dependency> ②编写设置文件 package com.solo.coderiver.user.config;
import com.solo.coderiver.user.task.LikeTask; import org.quartz.*; import org.springframework.context.annotation.Bean; import org.springframework.context.annotation.Configuration;
@Configuration public class QuartzConfig {
(编辑:湖南网) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |