cache.go 662 B

123456789101112131415161718192021222324252627282930313233
  1. package config
  2. import (
  3. "gogs.baozhida.cn/zoie/OAuth-core/storage"
  4. "gogs.baozhida.cn/zoie/OAuth-core/storage/cache"
  5. )
  6. type Cache struct {
  7. Redis *RedisConnectOptions
  8. Memory interface{}
  9. }
  10. // CacheConfig cache配置
  11. var CacheConfig = new(Cache)
  12. // Setup 构造cache 顺序 redis > 其他 > memory
  13. func (e Cache) Setup() (storage.AdapterCache, error) {
  14. if e.Redis != nil {
  15. options, err := e.Redis.GetRedisOptions()
  16. if err != nil {
  17. return nil, err
  18. }
  19. r, err := cache.NewRedis(GetRedisClient(), options)
  20. if err != nil {
  21. return nil, err
  22. }
  23. if _redis == nil {
  24. _redis = r.GetClient()
  25. }
  26. return r, nil
  27. }
  28. return cache.NewMemory(), nil
  29. }