* Add webhook cache

* Add channel by name cache

* Fxing profiles in channels cache

* Fix merge
Этот коммит содержится в:
Joram Wilander
2017-01-27 14:07:34 -05:00
коммит произвёл GitHub
родитель 8eab04e944
Коммит 097289f8e4
19 изменённых файлов: 173 добавлений и 51 удалений

Просмотреть файл

@@ -103,18 +103,35 @@ func PublishSkipClusterSend(message *model.WebSocketEvent) {
}
}
func InvalidateCacheForChannel(channelId string) {
InvalidateCacheForChannelSkipClusterSend(channelId)
func InvalidateCacheForChannel(channel *model.Channel) {
InvalidateCacheForChannelSkipClusterSend(channel.Id)
InvalidateCacheForChannelByNameSkipClusterSend(channel.TeamId, channel.Name)
if cluster := einterfaces.GetClusterInterface(); cluster != nil {
cluster.InvalidateCacheForChannel(channelId)
cluster.InvalidateCacheForChannel(channel.Id)
cluster.InvalidateCacheForChannelByName(channel.TeamId, channel.Name)
}
}
func InvalidateCacheForChannelMembers(channelId string) {
InvalidateCacheForChannelMembersSkipClusterSend(channelId)
if cluster := einterfaces.GetClusterInterface(); cluster != nil {
cluster.InvalidateCacheForChannelMembers(channelId)
}
}
func InvalidateCacheForChannelSkipClusterSend(channelId string) {
Srv.Store.Channel().InvalidateChannel(channelId)
}
func InvalidateCacheForChannelMembersSkipClusterSend(channelId string) {
Srv.Store.User().InvalidateProfilesInChannelCache(channelId)
Srv.Store.Channel().InvalidateMemberCount(channelId)
Srv.Store.Channel().InvalidateChannel(channelId)
}
func InvalidateCacheForChannelByNameSkipClusterSend(teamId, name string) {
Srv.Store.Channel().InvalidateChannelByName(teamId, name)
}
func InvalidateCacheForChannelPosts(channelId string) {
@@ -147,6 +164,18 @@ func InvalidateCacheForUserSkipClusterSend(userId string) {
}
}
func InvalidateCacheForWebhook(webhookId string) {
InvalidateCacheForWebhookSkipClusterSend(webhookId)
if cluster := einterfaces.GetClusterInterface(); cluster != nil {
cluster.InvalidateCacheForWebhook(webhookId)
}
}
func InvalidateCacheForWebhookSkipClusterSend(webhookId string) {
Srv.Store.Webhook().InvalidateWebhookCache(webhookId)
}
func InvalidateWebConnSessionCacheForUser(userId string) {
if len(hubs) != 0 {
GetHubForUserId(userId).InvalidateUser(userId)