✨Feat: 完善点赞业务二级缓存

This commit is contained in:
2025-10-23 18:57:04 +08:00
parent 61772a067a
commit 1dc2bcf8bf
2 changed files with 12 additions and 3 deletions
@@ -1,7 +1,9 @@
package cn.hezhaohui.thumb.service.impl; package cn.hezhaohui.thumb.service.impl;
import cn.hezhaohui.thumb.constant.ThumbConstant;
import cn.hezhaohui.thumb.exception.BusinessException; import cn.hezhaohui.thumb.exception.BusinessException;
import cn.hezhaohui.thumb.exception.ErrorCode; import cn.hezhaohui.thumb.exception.ErrorCode;
import cn.hezhaohui.thumb.manager.cache.CacheManager;
import cn.hezhaohui.thumb.model.dto.DoThumbRequest; import cn.hezhaohui.thumb.model.dto.DoThumbRequest;
import cn.hezhaohui.thumb.model.entity.Blog; import cn.hezhaohui.thumb.model.entity.Blog;
import cn.hezhaohui.thumb.model.entity.User; import cn.hezhaohui.thumb.model.entity.User;
@@ -14,6 +16,7 @@ import cn.hezhaohui.thumb.service.ThumbService;
import cn.hezhaohui.thumb.mapper.ThumbMapper; import cn.hezhaohui.thumb.mapper.ThumbMapper;
import jakarta.annotation.Resource; import jakarta.annotation.Resource;
import jakarta.servlet.http.HttpServletRequest; import jakarta.servlet.http.HttpServletRequest;
import lombok.extern.slf4j.Slf4j;
import org.springframework.data.redis.core.RedisTemplate; import org.springframework.data.redis.core.RedisTemplate;
import org.springframework.stereotype.Service; import org.springframework.stereotype.Service;
import org.springframework.transaction.support.TransactionTemplate; import org.springframework.transaction.support.TransactionTemplate;
@@ -23,7 +26,8 @@ import org.springframework.transaction.support.TransactionTemplate;
* @description 针对表【thumb】的数据库操作Service实现 * @description 针对表【thumb】的数据库操作Service实现
* @createDate 2025-10-18 14:51:00 * @createDate 2025-10-18 14:51:00
*/ */
@Service("thumbServiceDB") @Service("thumbService")
@Slf4j
public class ThumbServiceImpl extends ServiceImpl<ThumbMapper, Thumb> public class ThumbServiceImpl extends ServiceImpl<ThumbMapper, Thumb>
implements ThumbService{ implements ThumbService{
@@ -39,6 +43,9 @@ public class ThumbServiceImpl extends ServiceImpl<ThumbMapper, Thumb>
@Resource @Resource
private RedisTemplate<String, Object> redisTemplate; private RedisTemplate<String, Object> redisTemplate;
@Resource
private CacheManager cacheManager;
@Override @Override
public Boolean doThumb(DoThumbRequest doThumbRequest, HttpServletRequest request) { public Boolean doThumb(DoThumbRequest doThumbRequest, HttpServletRequest request) {
if (doThumbRequest == null || doThumbRequest.getBlogId() == null) { if (doThumbRequest == null || doThumbRequest.getBlogId() == null) {
@@ -110,7 +117,9 @@ public class ThumbServiceImpl extends ServiceImpl<ThumbMapper, Thumb>
@Override @Override
public Boolean hasThumb(Long blogId, Long userId) { public Boolean hasThumb(Long blogId, Long userId) {
return redisTemplate.opsForHash().hasKey(RedisKeyUtil.getUserThumbKey(userId), blogId.toString()); // 一级缓存
// return redisTemplate.opsForHash().hasKey(RedisKeyUtil.getUserThumbKey(userId), blogId.toString());
return cacheManager.get(ThumbConstant.USER_THUMB_KEY_PREFIX + userId, blogId.toString()) != null;
} }
} }
@@ -29,7 +29,7 @@ import java.util.Arrays;
* @description 针对表【thumb】的数据库操作Service实现 * @description 针对表【thumb】的数据库操作Service实现
* @createDate 2025-10-18 14:51:00 * @createDate 2025-10-18 14:51:00
*/ */
@Service("thumbService") @Service("thumbServiceRedis")
public class ThumbServiceRedisImpl extends ServiceImpl<ThumbMapper, Thumb> public class ThumbServiceRedisImpl extends ServiceImpl<ThumbMapper, Thumb>
implements ThumbService{ implements ThumbService{