diff options
Diffstat (limited to 'internal/cache/db.go')
-rw-r--r-- | internal/cache/db.go | 28 |
1 files changed, 28 insertions, 0 deletions
diff --git a/internal/cache/db.go b/internal/cache/db.go index 16e1d286a..c1b87ef96 100644 --- a/internal/cache/db.go +++ b/internal/cache/db.go @@ -29,6 +29,9 @@ type DBCaches struct { // Account provides access to the gtsmodel Account database cache. Account StructCache[*gtsmodel.Account] + // AccountIDsFollowingTag caches account IDs following a given tag ID. + AccountIDsFollowingTag SliceCache[string] + // AccountNote provides access to the gtsmodel Note database cache. AccountNote StructCache[*gtsmodel.AccountNote] @@ -160,6 +163,9 @@ type DBCaches struct { // Tag provides access to the gtsmodel Tag database cache. Tag StructCache[*gtsmodel.Tag] + // TagIDsFollowedByAccount caches tag IDs followed by a given account ID. + TagIDsFollowedByAccount SliceCache[string] + // ThreadMute provides access to the gtsmodel ThreadMute database cache. ThreadMute StructCache[*gtsmodel.ThreadMute] @@ -234,6 +240,17 @@ func (c *Caches) initAccount() { }) } +func (c *Caches) initAccountIDsFollowingTag() { + // Calculate maximum cache size. + cap := calculateSliceCacheMax( + config.GetCacheAccountIDsFollowingTagMemRatio(), + ) + + log.Infof(nil, "cache size = %d", cap) + + c.DB.AccountIDsFollowingTag.Init(0, cap) +} + func (c *Caches) initAccountNote() { // Calculate maximum cache size. cap := calculateResultCacheMax( @@ -1317,6 +1334,17 @@ func (c *Caches) initTag() { }) } +func (c *Caches) initTagIDsFollowedByAccount() { + // Calculate maximum cache size. + cap := calculateSliceCacheMax( + config.GetCacheTagIDsFollowedByAccountMemRatio(), + ) + + log.Infof(nil, "cache size = %d", cap) + + c.DB.TagIDsFollowedByAccount.Init(0, cap) +} + func (c *Caches) initThreadMute() { cap := calculateResultCacheMax( sizeofThreadMute(), // model in-mem size. |