This commit is contained in:
loveuer
2026-01-28 10:28:13 +08:00
parent 507a67e455
commit 3ee0c9c098
29 changed files with 2852 additions and 0 deletions

28
database/cache/registry.go vendored Normal file
View File

@@ -0,0 +1,28 @@
package cache
import "fmt"
var drivers = make(map[string]Driver)
func Register(name string, driver Driver) {
if driver == nil {
panic("cache: Register driver is nil")
}
if _, dup := drivers[name]; dup {
panic("cache: Register called twice for driver " + name)
}
drivers[name] = driver
}
func Open(config *Config) (Cache, error) {
if config.Driver == "redis" {
return NewRedis(config)
}
driver, ok := drivers[config.Driver]
if !ok {
return nil, fmt.Errorf("unknown driver %q (forgotten import?)", config.Driver)
}
return driver.Cache(config)
}