From 150ad6df056cd4ecd6d6011a7805fa1ae0a56895 Mon Sep 17 00:00:00 2001 From: Namekuji Date: Sun, 29 Jan 2023 21:30:10 -0500 Subject: [PATCH] increase session cacche ttl --- auth.go | 2 ++ room.go | 2 -- server.go | 4 ++-- webhooks.go | 1 - 4 files changed, 4 insertions(+), 5 deletions(-) diff --git a/auth.go b/auth.go index 57431e6..f8b0425 100644 --- a/auth.go +++ b/auth.go @@ -8,6 +8,7 @@ import ( "strings" "time" + "github.com/jellydator/ttlcache/v3" "github.com/labstack/echo/v4" mastodon "github.com/mattn/go-mastodon" "github.com/oklog/ulid/v2" @@ -228,6 +229,7 @@ func authMiddleware(next echo.HandlerFunc) echo.HandlerFunc { data, err := getSessionData(c) if err == nil && data.AudonID != "" { if user, err := findUserByID(c.Request().Context(), data.AudonID); err == nil { + userSessionCache.Set(data.AudonID, data, ttlcache.DefaultTTL) c.Set("user", user) c.Set("data", data) return next(c) diff --git a/room.go b/room.go index 6cb137c..fd134a4 100644 --- a/room.go +++ b/room.go @@ -415,8 +415,6 @@ func joinRoomHandler(c echo.Context) (err error) { } // Store user's session data in cache - data, _ := getSessionData(c) - userSessionCache.Set(user.AudonID, data, ttlcache.DefaultTTL) orphanRooms.Delete(roomID) return c.JSON(http.StatusOK, resp) diff --git a/server.go b/server.go index c6ec849..cbf92ec 100644 --- a/server.go +++ b/server.go @@ -155,8 +155,8 @@ func main() { e.Use(session.Middleware(redisStore)) // Setup caches - userSessionCache = ttlcache.New(ttlcache.WithTTL[string, *SessionData](24 * time.Hour)) - webhookTimerCache = ttlcache.New(ttlcache.WithTTL[string, *time.Timer](60 * time.Second)) + userSessionCache = ttlcache.New(ttlcache.WithTTL[string, *SessionData](168 * time.Hour)) + webhookTimerCache = ttlcache.New(ttlcache.WithTTL[string, *time.Timer](5 * time.Minute)) orphanRooms = ttlcache.New(ttlcache.WithTTL[string, bool](24 * time.Hour)) go userSessionCache.Start() go webhookTimerCache.Start() diff --git a/webhooks.go b/webhooks.go index a9f71f5..cd53198 100644 --- a/webhooks.go +++ b/webhooks.go @@ -92,7 +92,6 @@ func livekitWebhookHandler(c echo.Context) error { log.Println(err) } nextUser.ClearUserAvatar(ctx) - userSessionCache.Delete(audonID) } else if err != nil { log.Println(err) }