diff options
Diffstat (limited to 'src/main/java/com/juick/service/MessagesService.java')
-rw-r--r-- | src/main/java/com/juick/service/MessagesService.java | 7 |
1 files changed, 7 insertions, 0 deletions
diff --git a/src/main/java/com/juick/service/MessagesService.java b/src/main/java/com/juick/service/MessagesService.java index d102031d..3fdd2b9e 100644 --- a/src/main/java/com/juick/service/MessagesService.java +++ b/src/main/java/com/juick/service/MessagesService.java @@ -23,6 +23,8 @@ import com.juick.model.User; import com.juick.model.ResponseReply; import com.juick.model.Tag; import org.apache.commons.lang3.tuple.Pair; +import org.springframework.cache.annotation.CacheEvict; +import org.springframework.cache.annotation.Cacheable; import java.net.URI; import java.util.*; @@ -31,8 +33,10 @@ import java.util.*; * Created by aalexeev on 11/13/16. */ public interface MessagesService { + @CacheEvict(value = { "discussions", "messages", "replies" }, allEntries = true) int createMessage(int uid, String txt, String attachment, Set<Tag> tags); + @CacheEvict(value = { "discussions", "messages", "replies" }, allEntries = true) int createReply(int mid, int rid, User user, String txt, String attachment); enum RecommendStatus { Error, @@ -83,6 +87,7 @@ public interface MessagesService { List<Integer> getPrivate(int uid, int before); + @Cacheable(value = "discussions", key="#uid + #to") List<Integer> getDiscussions(int uid, Long to); /** @@ -111,10 +116,12 @@ public interface MessagesService { List<Integer> getUserSearch(User visitor, int UID, String search, int privacy, int page); + @Cacheable(value = "messages", key="#visitor.uid + #mids.hashCode()") List<Message> getMessages(User visitor, List<Integer> mids); Map<Integer,Set<Reaction>> updateReactionsFor(final List<Integer> mid); + @Cacheable(value = "replies", key="#user.uid + #mid") List<Message> getReplies(User user, int mid); boolean setMessagePrivacy(int mid); |