缓存功能追加

1.最新回复列表
2.最新列表
This commit is contained in:
wangshun
2025-09-11 15:29:24 +08:00
parent 1e284e15df
commit 37c4306010
7 changed files with 152 additions and 72 deletions

View File

@@ -1,5 +1,6 @@
package com.openisle.service;
import com.openisle.config.CachingConfig;
import com.openisle.model.Comment;
import com.openisle.model.Post;
import com.openisle.model.User;
@@ -20,6 +21,8 @@ import com.openisle.model.Role;
import com.openisle.exception.RateLimitException;
import lombok.RequiredArgsConstructor;
import lombok.extern.slf4j.Slf4j;
import org.springframework.cache.annotation.CacheEvict;
import org.springframework.cache.annotation.Cacheable;
import org.springframework.stereotype.Service;
import java.util.List;
@@ -47,6 +50,10 @@ public class CommentService {
private final PointService pointService;
private final ImageUploader imageUploader;
@CacheEvict(
value = CachingConfig.POST_CACHE_NAME,
key = "'latest_reply'"
)
@Transactional
public Comment addComment(String username, Long postId, String content) {
log.debug("addComment called by user {} for post {}", username, postId);
@@ -95,6 +102,10 @@ public class CommentService {
return commentRepository.findLastCommentTimeOfUserByUserId(userId);
}
@CacheEvict(
value = CachingConfig.POST_CACHE_NAME,
key = "'latest_reply'"
)
@Transactional
public Comment addReply(String username, Long parentId, String content) {
log.debug("addReply called by user {} for parent comment {}", username, parentId);
@@ -228,6 +239,10 @@ public class CommentService {
return count;
}
@CacheEvict(
value = CachingConfig.POST_CACHE_NAME,
key = "'latest_reply'"
)
@Transactional
public void deleteComment(String username, Long id) {
log.debug("deleteComment called by user {} for comment {}", username, id);
@@ -243,6 +258,10 @@ public class CommentService {
log.debug("deleteComment completed for comment {}", id);
}
@CacheEvict(
value = CachingConfig.POST_CACHE_NAME,
key = "'latest_reply'"
)
@Transactional
public void deleteCommentCascade(Comment comment) {
log.debug("deleteCommentCascade called for comment {}", comment.getId());