package runtime import ( "IotAdmin/core/storage" "github.com/bsm/redislock" ) type Locker struct { prefix string locker storage.AdapterLocker } // NewLocker 创建对应上下文分布式锁 func NewLocker(prefix string, locker storage.AdapterLocker) storage.AdapterLocker { return &Locker{ prefix: prefix, locker: locker, } } func (e *Locker) String() string { return e.locker.String() } // Lock 返回分布式锁对象 func (e *Locker) Lock(key string, ttl int64, options *redislock.Options) (*redislock.Lock, error) { return e.locker.Lock(e.prefix+intervalTenant+key, ttl, options) }