예제 #1
0
파일: memcache.go 프로젝트: tolexo/aero
// memcache:
// - host
// - port
func MemcacheFromConfig(container string) Cacher {
	host := conf.String(container+".host", "")
	panik.If(host == "", "memcache host not specified")

	port := conf.Int(container+".port", 0)
	panik.If(port == 0, "memcache port not specified")

	return NewMemcache(host, port)
}
예제 #2
0
파일: redis.go 프로젝트: tolexo/aero
// redis:
// - host
// - port
// - db
func RedisFromConfig(container string) Cacher {
	host := conf.String(container+".host", "")
	panik.If(host == "", "redis host not specified")

	port := conf.Int(container+".port", 0)
	panik.If(port == 0, "redis port not specified")

	db := conf.Int(container+".db", 0)

	return NewRedis(host, port, db)
}
예제 #3
0
파일: cacher.go 프로젝트: tolexo/aero
func FromConfig(container string) (out Cacher) {

	cType := conf.String(container+".type", "")
	panik.If(cType == "", "cache type is not specified")

	switch cType {
	case "memcache":
		out = MemcacheFromConfig(container)

	case "redis":
		out = RedisFromConfig(container)

	case "inmem":
		out = InmemFromConfig(container)

	case "debug":
		out = DebugFromConfig(container)

	default:
		panic("unknown cache type specifed: " + cType)
	}

	return out
}