[performance] cache recently allowed/denied domains to cut down on db calls (#794)

* fetch creation and fetching domain blocks from db

Signed-off-by: kim <grufwub@gmail.com>

* add separate domainblock cache type, handle removing block from cache on delete

Signed-off-by: kim <grufwub@gmail.com>

* fix sentinel nil values being passed into cache

Signed-off-by: kim <grufwub@gmail.com>

Signed-off-by: kim <grufwub@gmail.com>
This commit is contained in:
kim 2022-09-02 11:17:46 +01:00 committed by GitHub
commit d68c04a6c0
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
7 changed files with 245 additions and 41 deletions

View file

@ -173,6 +173,9 @@ func NewBunDBService(ctx context.Context) (db.DB, error) {
notifCache.SetTTL(time.Minute*5, false)
notifCache.Start(time.Second * 10)
// Prepare domain block cache
blockCache := cache.NewDomainBlockCache()
ps := &bunDBService{
Account: accounts,
Admin: &adminDB{
@ -182,7 +185,8 @@ func NewBunDBService(ctx context.Context) (db.DB, error) {
conn: conn,
},
Domain: &domainDB{
conn: conn,
conn: conn,
cache: blockCache,
},
Emoji: &emojiDB{
conn: conn,