• 设为首页
  • 点击收藏
  • 手机版
    手机扫一扫访问
    迪恩网络手机版
  • 关注官方公众号
    微信扫一扫关注
    迪恩网络公众号

Golang cache.NewCache函数代码示例

原作者: [db:作者] 来自: [db:来源] 收藏 邀请

本文整理汇总了Golang中github.com/astaxie/beego/cache.NewCache函数的典型用法代码示例。如果您正苦于以下问题:Golang NewCache函数的具体用法?Golang NewCache怎么用?Golang NewCache使用的例子?那么恭喜您, 这里精选的函数代码示例或许可以为您提供帮助。



在下文中一共展示了NewCache函数的20个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于我们的系统推荐出更棒的Golang代码示例。

示例1: NewCache

func NewCache(config CacheConfig) (Cache, error) {
	if config.Driver == "" {
		return nil, nil
	} else if config.Driver == "memory" {
		var data struct {
			Interval int `json:"interval,omitempty"`
		}
		data.Interval = config.GcInterval
		configString, err := json.Marshal(data)
		if err != nil {
			return nil, err
		}
		cacheInner, err := cache.NewCache("memory", string(configString))
		if err != nil {
			return nil, err
		}
		return &cacheImplement{
			store:      cacheInner,
			saveprefix: config.SavePrefix,
		}, nil
	} else if config.Driver == "redis" {
		var data struct {
			Key      string `json:"key"`
			Conn     string `json:"conn"`
			Password string `json:"password,omitempty"`
		}
		if config.SavePrefix == "" {
			return nil, errors.New("invalid config.SavePrefix is empty")
		}
		data.Key = config.SavePrefix
		configArray := Explode(config.SavePath, ",")
		if len(configArray) == 0 {
			return nil, errors.New("invalid config.SavePath " + config.SavePath)
		}
		data.Conn = configArray[0]
		if len(configArray) >= 3 {
			data.Password = configArray[2]
		}
		configString, err := json.Marshal(data)
		if err != nil {
			return nil, err
		}
		cacheInner, err := cache.NewCache("redis", string(configString))
		if err != nil {
			return nil, err
		}
		return &cacheImplement{
			store:      cacheInner,
			saveprefix: config.SavePrefix,
		}, nil
	} else {
		return nil, errors.New("invalid cache config " + config.Driver)
	}
}
开发者ID:fishedee,项目名称:fishgo,代码行数:54,代码来源:util_cache.go


示例2: Initialize

func Initialize() {
	var err error
	beego.Info("thisi s is s ")
	var cac cache.Cache
	cac, err = cache.NewCache("memory", `{"interval":360}`)

	cachemanager.Cache = cac
	// session settings
	beego.BConfig.WebConfig.Session.SessionOn = true
	//beego.BConfig.WebConfig.Session.SessionProvider = Cfg.MustValue("session", "session_provider", "file")
	//beego.BConfig.WebConfig.Session.SessionProviderConfig = Cfg.MustValue("session", "session_path", "sessions")
	//beego.BConfig.WebConfig.Session.SessionName = Cfg.MustValue("session", "session_name", "wetalk_sess")
	//beego.BConfig.WebConfig.Session.SessionCookieLifeTime = Cfg.MustInt("session", "session_life_time", 0)
	//beego.BConfig.WebConfig.Session.SessionGCMaxLifetime = Cfg.MustInt64("session", "session_gc_time", 86400)
	//load custom configurations
	loadConfig()
	//disable live reload for db connections
	PostgresConnection = beego.AppConfig.DefaultString(beego.BConfig.RunMode+"::"+"pg_conn", "user=postgres password=root dbname=eq sslmode=disable")
	PostgresMigrateConnection = beego.AppConfig.DefaultString(beego.BConfig.RunMode+"::"+"pg_migrate", "postgres://postgres:[email protected]:5432/test?sslmode=disable")
	// cache system

	Captcha = captcha.NewCaptcha("/captcha/", cac)
	Captcha.FieldIDName = "CaptchaId"
	Captcha.FieldCaptchaName = "Captcha"

	settingCompress()
	settingLocales()
	//watch conf files change
	configWatcher()
	if err != nil {
		beego.Error(err)
	}
}
开发者ID:thanzen,项目名称:identity,代码行数:33,代码来源:setting.go


示例3: InitFilecache

//初始化文件缓存,配置参数如下
//
// filecache_dir 缓存文件目录
//
// filecache_suffix 缓存文件后缀(.cache)
//
// filecache_level 目录层级(2)
//
// filecache_expire 过期时间(3600秒)
func InitFilecache() (cache.Cache, error) {
	if beego.BConfig.RunMode == "dev" {
		beego.Info("initiating file cache")
	}

	filecache_dir := beego.AppConfig.DefaultString("filecache_dir", "")
	filecache_suffix := beego.AppConfig.DefaultString("filecache_suffix", ".cache")
	filecache_level := beego.AppConfig.DefaultInt("filecache_level", 2)
	filecache_expire := beego.AppConfig.DefaultInt("filecache_expire", 3600)
	if filecache_dir == "" {
		panic("filecache_dir is not set")
	}
	info, err := os.Stat(filecache_dir)
	if err != nil && !os.IsExist(err) {
		if err := os.MkdirAll(filecache_dir, 777); err != nil {
			panic(fmt.Sprintf("%s not exist and can not be created\n%v", filecache_dir, err))
		}
	}
	if !info.IsDir() {
		panic(fmt.Sprintf("%s is not a directory", filecache_dir))
	}
	if err := syscall.Access(filecache_dir, syscall.O_RDWR); err != nil {
		panic(fmt.Sprintf("%s is not accessable\n%v", filecache_dir, err))
	}
	return cache.NewCache("file", fmt.Sprintf(`{"CachePath":"%s","FileSuffix":"%s","DirectoryLevel":%d,"EmbedExpiry":%d}`, filecache_suffix, filecache_suffix, filecache_level, filecache_expire))
}
开发者ID:sillydong,项目名称:goczd,代码行数:35,代码来源:init.go


示例4: init

func init() {
	var err error
	Cache, err = cache.NewCache("memory", `{"interval":720}`)
	if err != nil {
		log.Errorf("Failed to initialize cache, error:%v", err)
	}
}
开发者ID:vmware,项目名称:harbor,代码行数:7,代码来源:cache.go


示例5: LoadConfig

func LoadConfig() {
	redisServer := beego.AppConfig.String("redis_resource")
	redisServer = "{\"conn\":\"" + redisServer + "\"}"
	store, err := cache.NewCache("redis", redisServer)
	if err != nil {
		log.Panic("缓存出错" + err.Error())
	}
	Captcha = captcha.NewWithFilter("/captcha/", store)

	driverName := beego.AppConfig.String("driverName")
	dataSource := beego.AppConfig.String("dataSource")
	maxIdle, _ := beego.AppConfig.Int("maxIdle")
	maxOpen, _ := beego.AppConfig.Int("maxOpen")

	orm.RegisterDriver("mysql", orm.DR_MySQL)

	// set default database
	err = orm.RegisterDataBase("default", driverName, dataSource, maxIdle, maxOpen)
	if err != nil {
		beego.Error(err)
	}
	orm.RunCommand()

	err = orm.RunSyncdb("default", false, false)
	if err != nil {
		beego.Error(err)
	}
	SocialAuthInit()

	config.InitConfig()
}
开发者ID:ming-hai,项目名称:account,代码行数:31,代码来源:setting.go


示例6: NewCache

func NewCache(name, config string) (*Cache, error) {
	adp, err := bgcache.NewCache(name, config)
	if err != nil {
		return nil, err
	}
	return &Cache{adapter: adp, name: name}, nil
}
开发者ID:artwebs,项目名称:aogo,代码行数:7,代码来源:Cache.go


示例7: TestRedisCache

func TestRedisCache(t *testing.T) {
	bm, err := cache.NewCache("redis", `{"conn": "127.0.0.1:6379"}`)
	if err != nil {
		t.Error("init err")
	}
	if err = bm.Put("astaxie", 1, 10); err != nil {
		t.Error("set Error", err)
	}
	if !bm.IsExist("astaxie") {
		t.Error("check err")
	}

	time.Sleep(10 * time.Second)

	if bm.IsExist("astaxie") {
		t.Error("check err")
	}
	if err = bm.Put("astaxie", 1, 10); err != nil {
		t.Error("set Error", err)
	}

	if v, _ := redis.Int(bm.Get("astaxie"), err); v != 1 {
		t.Error("get err")
	}

	if err = bm.Incr("astaxie"); err != nil {
		t.Error("Incr Error", err)
	}

	if v, _ := redis.Int(bm.Get("astaxie"), err); v != 2 {
		t.Error("get err")
	}

	if err = bm.Decr("astaxie"); err != nil {
		t.Error("Decr Error", err)
	}

	if v, _ := redis.Int(bm.Get("astaxie"), err); v != 1 {
		t.Error("get err")
	}
	bm.Delete("astaxie")
	if bm.IsExist("astaxie") {
		t.Error("delete err")
	}
	//test string
	if err = bm.Put("astaxie", "author", 10); err != nil {
		t.Error("set Error", err)
	}
	if !bm.IsExist("astaxie") {
		t.Error("check err")
	}

	if v, _ := redis.String(bm.Get("astaxie"), err); v != "author" {
		t.Error("get err")
	}
	// test clear all
	if err = bm.ClearAll(); err != nil {
		t.Error("clear all err")
	}
}
开发者ID:4eek,项目名称:beego,代码行数:60,代码来源:redis_test.go


示例8: InitMemorycache

//初始化内存缓存,配置参数如下
//
// memory_gc_interval 内存回收周期(60秒)
func InitMemorycache() (cache.Cache, error) {
	if beego.BConfig.RunMode == "dev" {
		beego.Info("initiating memory cache")
	}

	memory_interval := beego.AppConfig.DefaultInt("memory_gc_interval", 60)
	return cache.NewCache("memory", fmt.Sprintf(`{"interval":%d}`, memory_interval))
}
开发者ID:sillydong,项目名称:goczd,代码行数:11,代码来源:init.go


示例9: init

func init() {
	log.Println("---------- Context init called.-----------------")
	AppCtx = &AppContext{}
	AppCtx.Sitename = beego.AppConfig.String("sitename")

	// cache init
	APPCache, _ = cache.NewCache("memory", `{"interval":3600}`)
}
开发者ID:sndnvaps,项目名称:gooa,代码行数:8,代码来源:context.go


示例10: initRedis

func initRedis() {
	var err error
	cc, err = cache.NewCache("redis", `{"conn":"`+beego.AppConfig.String("redis_host")+`"}`)

	if err != nil {
		beego.Info(err)
	}
}
开发者ID:KarlZeo,项目名称:blog-1,代码行数:8,代码来源:cache.go


示例11: initMemcache

func initMemcache() {
	var err error
	cc, err = cache.NewCache("memcache", `{"conn":"`+beego.AppConfig.String("memcache_host")+`"}`)

	if err != nil {
		beego.Info(err)
	}

}
开发者ID:dw250100785,项目名称:blog-1,代码行数:9,代码来源:cache.go


示例12: InitRediscache

//初始化redis缓存,配置参数如下
//
// rediscache_host redis主机(127.0.0.1)
//
// rediscache_port redis端口(6379)
func InitRediscache() (cache.Cache, error) {
	if beego.BConfig.RunMode == "dev" {
		beego.Info("initiating redis cache")
	}

	rediscache_host := beego.AppConfig.DefaultString("rediscache_host", "127.0.0.1")
	rediscache_port := beego.AppConfig.DefaultString("rediscache_port", "6379")
	return cache.NewCache("redis", fmt.Sprintf(`{"conn":"%s:%s"}`, rediscache_host, rediscache_port))
}
开发者ID:sillydong,项目名称:goczd,代码行数:14,代码来源:init.go


示例13: InitMemcache

//初始化memcache缓存,配置参数如下
//
// memcache_host memcache主机(127.0.0.1)
//
// memcache_port memcache端口(11211)
func InitMemcache() (cache.Cache, error) {
	if beego.BConfig.RunMode == "dev" {
		beego.Info("initiating memcache")
	}

	memcache_host := beego.AppConfig.DefaultString("memcache_host", "127.0.0.1")
	memcache_port := beego.AppConfig.DefaultString("memcache_port", "11211")
	return cache.NewCache("memcache", fmt.Sprintf(`{"conn":"%s:%s"`, memcache_host, memcache_port))
}
开发者ID:sillydong,项目名称:goczd,代码行数:14,代码来源:init.go


示例14: init

func init() {
	var err error
	Cache, err = cache.NewCache("memory", `{"interval":720}`)
	if err != nil {
		log.Errorf("Failed to initialize cache, error:%v", err)
	}

	endpoint = os.Getenv("REGISTRY_URL")
	username = "admin"
}
开发者ID:yaolingling,项目名称:harbor,代码行数:10,代码来源:cache.go


示例15: GetRedisInstance

func GetRedisInstance() cache.Cache {
	if redisBase == nil {
		redisInst, err := cache.NewCache("redis", `{"conn":"127.0.0.1:6379", "key":"beecacheRedis"}`)
		if err != nil {
			log.Println(err)
		}
		redisBase = &RedisBase{RedisInst: redisInst}
	}
	return redisBase.RedisInst
}
开发者ID:idle-tmac,项目名称:tmac,代码行数:10,代码来源:redis_base.go


示例16: initCache

// 初始化Cache
func initCache() error {
	var err error

	// Cache 第三方引擎
	helper.GlobalCache, err = cache.NewCache(CACHE_ENGINE_REDIS, "{\"conn\": \""+models.RedisAddress+"\"}")
	if err != nil {
		return err
	}

	return nil
}
开发者ID:sevenzoe,项目名称:FiveMusketeers,代码行数:12,代码来源:base.go


示例17: init

func init() {
	var err error
	Cache, err = cache.NewCache("memory", `{"interval":720}`)
	if err != nil {
		log.Errorf("Failed to initialize cache, error:%v", err)
	}

	endpoint = os.Getenv("REGISTRY_URL")
	username = "admin"
	repositoryClients = make(map[string]*registry.Repository, 10)
}
开发者ID:CodingDance,项目名称:harbor,代码行数:11,代码来源:cache.go


示例18: Get

func (this *MainController) Get() {
	// c,_ := cache.NewCache("file", `{"CachePath":"./cache","FileSuffix":".cache","DirectoryLevel":2,"EmbedExpiry":120}`)
	c,_ := cache.NewCache("memory", `{"interval":60}`)
	tmp:=c.Get("hello")
	this.dump(tmp)
	if(tmp != nil){
		this.dump(tmp);
	}else{
		c.Put("hello",time.Now(),2)
	}
}
开发者ID:trigrass2,项目名称:crm,代码行数:11,代码来源:cache.go


示例19: InitCache

//初始化缓存
func InitCache() {

	//初始化权限配置缓存
	var err error

	Cache_All, err = cache.NewCache("memory", `{"interval":60}`)
	if err != nil {
		//抛出异常
		Debug(err)
		return
	}

	setCacheAdminConfigData()
}
开发者ID:mu2611,项目名称:geekxb,代码行数:15,代码来源:Common_Cache.go


示例20: init

func init() {
	orm.RegisterDriver("sqlite", orm.DR_Sqlite)

	// 参数4(可选)  设置最大空闲连接
	// 参数5(可选)  设置最大数据库连接 (go >= 1.2)
	maxIdle := 30
	maxConn := 30
	orm.RegisterDataBase("default", "sqlite3", "db/ifcdb.db", maxIdle, maxConn)

	// 需要在init中注册定义的model
	orm.RegisterModel(new(VItemList), new(OnLineActive))

	//设定一个缓存,保存最初始的ItemList,避免每次打开主页就去读取数据库
	bm, _ = cache.NewCache("memory", `{"interval":60}`)
}
开发者ID:tonypublic,项目名称:IFCInfoSys,代码行数:15,代码来源:models.go



注:本文中的github.com/astaxie/beego/cache.NewCache函数示例整理自Github/MSDocs等源码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。


鲜花

握手

雷人

路过

鸡蛋
该文章已有0人参与评论

请发表评论

全部评论

专题导读
上一篇:
Golang config.NewConfig函数代码示例发布时间:2022-05-24
下一篇:
Golang beego.Controller类代码示例发布时间:2022-05-24
热门推荐
热门话题
阅读排行榜

扫描微信二维码

查看手机版网站

随时了解更新最新资讯

139-2527-9053

在线客服(服务时间 9:00~18:00)

在线QQ客服
地址:深圳市南山区西丽大学城创智工业园
电邮:jeky_zhao#qq.com
移动电话:139-2527-9053

Powered by 互联科技 X3.4© 2001-2213 极客世界.|Sitemap