init.go 602 B

12345678910111213141516171819202122232425
  1. package session
  2. import (
  3. "github.com/alexedwards/scs/mysqlstore"
  4. "github.com/alexedwards/scs/sqlite3store"
  5. "github.com/alexedwards/scs/v2"
  6. "pmail/config"
  7. "pmail/db"
  8. "time"
  9. )
  10. var Instance *scs.SessionManager
  11. func Init() {
  12. Instance = scs.New()
  13. Instance.Lifetime = 24 * time.Hour
  14. // 使用db存储session数据,目前为了架构简单,
  15. // 暂不引入redis存储,如果日后性能存在瓶颈,可以将session迁移到redis
  16. if config.Instance.DbType == "mysql" {
  17. Instance.Store = mysqlstore.New(db.Instance.DB)
  18. } else {
  19. Instance.Store = sqlite3store.New(db.Instance.DB)
  20. }
  21. }