summaryrefslogtreecommitdiffstats
path: root/api/web_hub.go
diff options
context:
space:
mode:
authorChristopher Speller <crspeller@gmail.com>2016-12-13 22:24:24 -0500
committerenahum <nahumhbl@gmail.com>2016-12-14 00:24:24 -0300
commit86fb0d87a3a09b237bec124ce0e74cd05aa164be (patch)
treedab6753888596cc2ba8df8c273ced364bff6b26d /api/web_hub.go
parent2e58f7504b79fc85d43468ffa06954a23221ea32 (diff)
downloadchat-86fb0d87a3a09b237bec124ce0e74cd05aa164be.tar.gz
chat-86fb0d87a3a09b237bec124ce0e74cd05aa164be.tar.bz2
chat-86fb0d87a3a09b237bec124ce0e74cd05aa164be.zip
Adding caching layer to some posts calls (#4779)
Diffstat (limited to 'api/web_hub.go')
-rw-r--r--api/web_hub.go20
1 files changed, 20 insertions, 0 deletions
diff --git a/api/web_hub.go b/api/web_hub.go
index ce11d26b0..da40bf1c7 100644
--- a/api/web_hub.go
+++ b/api/web_hub.go
@@ -103,10 +103,30 @@ func PublishSkipClusterSend(message *model.WebSocketEvent) {
}
func InvalidateCacheForChannel(channelId string) {
+ InvalidateCacheForChannelSkipClusterSend(channelId)
+
+ if cluster := einterfaces.GetClusterInterface(); cluster != nil {
+ cluster.InvalidateCacheForChannel(channelId)
+ }
+}
+
+func InvalidateCacheForChannelSkipClusterSend(channelId string) {
Srv.Store.User().InvalidateProfilesInChannelCache(channelId)
Srv.Store.Channel().InvalidateMemberCount(channelId)
}
+func InvalidateCacheForChannelPosts(channelId string) {
+ InvalidateCacheForChannelPostsSkipClusterSend(channelId)
+
+ if cluster := einterfaces.GetClusterInterface(); cluster != nil {
+ cluster.InvalidateCacheForChannelPosts(channelId)
+ }
+}
+
+func InvalidateCacheForChannelPostsSkipClusterSend(channelId string) {
+ Srv.Store.Post().InvalidatePostEtagCache(channelId)
+}
+
func InvalidateCacheForUser(userId string) {
InvalidateCacheForUserSkipClusterSend(userId)