Add redis. Prep for new save file

This commit is contained in:
pakintada@gmail.com 2024-02-05 17:07:04 +07:00
parent 6c22be7d7c
commit 0604a3b77f
5 changed files with 295 additions and 87 deletions

View file

@ -20,7 +20,6 @@ import (
"strings"
"github.com/jmoiron/sqlx"
"github.com/redis/go-redis/v9"
"github.com/go-chi/chi/v5"
"github.com/go-chi/cors"
@ -31,7 +30,7 @@ type Server struct {
server *http.Server
data *data.Data
database *sqlx.DB
cache_db *redis.Client
cache_db *data.RedisCli
cfg *config.ServerConfig
oauth oauth.OAuthService
taoLogger *logger.TaoLogger
@ -42,13 +41,15 @@ func NewServer(cfg *config.ServerConfig, oauthService oauth.OAuthService) *Serve
taoLogger := logger.NewTaoLogger(cfg)
taoLogger.Log = taoLogger.Log.Named("Server")
redisClient := data.NewRedisClient("redis:6379", "")
return &Server{
server: &http.Server{Addr: fmt.Sprintf(":%d", cfg.ServerPort)},
data: data.NewData(taoLogger),
data: data.NewData(taoLogger, redisClient),
database: data.NewSqliteDatabase(),
cache_db: data.NewRedisClient("redis:6379", "", ""),
cache_db: redisClient,
cfg: cfg,
oauth: oauth.NewOAuthService(serverCfg),
oauth: oauth.NewOAuthService(cfg),
taoLogger: taoLogger,
}
}
@ -101,6 +102,12 @@ func (s *Server) createHandler() {
ar.Route(r)
})
// Initial redis
for k, v := range s.data.CurrentRecipe {
s.taoLogger.Log.Debug("Caching", zap.Any("Recipe", k))
s.cache_db.SetToKey(k, v)
}
// Protected Group
r.Group(func(r chi.Router) {
@ -116,7 +123,7 @@ func (s *Server) createHandler() {
}
// Recipe Router
rr := routers.NewRecipeRouter(s.data, recipeService, sheetService, s.taoLogger)
rr := routers.NewRecipeRouter(s.data, recipeService, sheetService, s.taoLogger, s.cache_db)
rr.Route(r)
// Material Router