feat: 实现 sessions 持久化,支持会话恢复
This commit is contained in:
@@ -53,6 +53,7 @@ func main() {
|
||||
|
||||
var userRepo store.UserRepository
|
||||
var msgRepo store.MessageRepository
|
||||
var sessRepo store.SessionRepository
|
||||
|
||||
if cfg.Storage.Driver == "postgres" {
|
||||
pool, err := store.NewPostgresPool(ctx, cfg.Storage.DSN)
|
||||
@@ -68,6 +69,7 @@ func main() {
|
||||
|
||||
userRepo = store.NewPgUserRepository(pool)
|
||||
msgRepo = store.NewPgMessageRepository(pool)
|
||||
sessRepo = store.NewPgSessionRepository(pool)
|
||||
logger.Log.Infow("postgres storage initialized", "driver", cfg.Storage.Driver)
|
||||
} else {
|
||||
userRepo = store.NewMemUserRepository()
|
||||
@@ -80,6 +82,9 @@ func main() {
|
||||
if msgRepo != nil {
|
||||
sessionOpts = append(sessionOpts, session.WithMessageRepository(msgRepo))
|
||||
}
|
||||
if sessRepo != nil {
|
||||
sessionOpts = append(sessionOpts, session.WithSessionRepository(sessRepo))
|
||||
}
|
||||
sessionMgr = session.NewMemoryManager(
|
||||
time.Duration(cfg.Session.TTL)*time.Minute,
|
||||
cfg.Session.MaxHistory,
|
||||
|
||||
Reference in New Issue
Block a user