45 lines
896 B
Go
45 lines
896 B
Go
![]() |
package cache
|
|||
|
|
|||
|
import (
|
|||
|
"SciencesServer/config"
|
|||
|
"SciencesServer/serve/cache/logic"
|
|||
|
"fmt"
|
|||
|
)
|
|||
|
|
|||
|
var (
|
|||
|
Cache logic.ICache
|
|||
|
|
|||
|
engines = map[string]func() logic.ICache{
|
|||
|
"memory": memory, "redis": redis,
|
|||
|
}
|
|||
|
)
|
|||
|
|
|||
|
func memory() logic.ICache {
|
|||
|
return logic.NewMemory()
|
|||
|
}
|
|||
|
|
|||
|
func redis() logic.ICache {
|
|||
|
return logic.NewRedis(&logic.RedisOption{
|
|||
|
Addr: config.SettingInfo.Cache.Redis.Addr,
|
|||
|
Password: config.SettingInfo.Cache.Redis.Password,
|
|||
|
DB: config.SettingInfo.Cache.Redis.DB,
|
|||
|
MinIdleConns: config.SettingInfo.Cache.Redis.MaxIdle,
|
|||
|
IdleTimeout: config.SettingInfo.Cache.Redis.IdleTimeout,
|
|||
|
})
|
|||
|
}
|
|||
|
|
|||
|
func Init() {
|
|||
|
handle, has := engines[config.SettingInfo.Cache.Type]
|
|||
|
|
|||
|
if !has {
|
|||
|
panic(fmt.Sprintf("Unknown Cache Engine Mode:%s", config.SettingInfo.Cache.Type))
|
|||
|
}
|
|||
|
Cache = handle()
|
|||
|
|
|||
|
err := Cache.Run()
|
|||
|
|
|||
|
if err != nil {
|
|||
|
panic("Cache Run Error:" + err.Error())
|
|||
|
}
|
|||
|
}
|