From 9a291dea843448f78b4b98ea6813739aebe708c6 Mon Sep 17 00:00:00 2001 From: kim <89579420+NyaaaWhatsUpDoc@users.noreply.github.com> Date: Fri, 4 Aug 2023 12:28:33 +0100 Subject: [performance] add caching of status fave, boost of, in reply to ID lists (#2060) --- internal/cache/cache.go | 15 +++++++++++++++ 1 file changed, 15 insertions(+) (limited to 'internal/cache/cache.go') diff --git a/internal/cache/cache.go b/internal/cache/cache.go index cb5503a84..ec0ec3faa 100644 --- a/internal/cache/cache.go +++ b/internal/cache/cache.go @@ -196,6 +196,21 @@ func (c *Caches) setuphooks() { // c.GTS.Media().Invalidate("StatusID") will not work. c.GTS.Media().Invalidate("ID", id) } + + if status.BoostOfID != "" { + // Invalidate boost ID list of the original status. + c.GTS.BoostOfIDs().Invalidate(status.BoostOfID) + } + + if status.InReplyToID != "" { + // Invalidate in reply to ID list of original status. + c.GTS.InReplyToIDs().Invalidate(status.InReplyToID) + } + }) + + c.GTS.StatusFave().SetInvalidateCallback(func(fave *gtsmodel.StatusFave) { + // Invalidate status fave ID list for this status. + c.GTS.StatusFaveIDs().Invalidate(fave.StatusID) }) c.GTS.User().SetInvalidateCallback(func(user *gtsmodel.User) { -- cgit v1.2.3