locker.go 615 B

1234567891011121314151617181920212223242526272829303132333435
  1. package config
  2. import (
  3. "IotAdmin/core/storage"
  4. "IotAdmin/core/storage/locker"
  5. "github.com/redis/go-redis/v9"
  6. )
  7. var LockerConfig = new(Locker)
  8. type Locker struct {
  9. Redis *RedisConnectOptions
  10. }
  11. // Empty 空设置
  12. func (e Locker) Empty() bool {
  13. return e.Redis == nil
  14. }
  15. func (e Locker) Setup() (storage.AdapterLocker, error) {
  16. if e.Redis != nil {
  17. client := GetRedisClient()
  18. if client == nil {
  19. options, err := e.Redis.GetRedisOptions()
  20. if err != nil {
  21. return nil, err
  22. }
  23. client = redis.NewClient(options)
  24. _redis = client
  25. }
  26. return locker.NewRedis(client), nil
  27. }
  28. return nil, nil
  29. }