golagcosultools的一个操作cosul键值的工具,支持结构体整体打包查询及更新。
使用安装goget-ugithub.com/xxjwxc/cosult@master新建一个连接import("github.com/xxjwxc/cosult/cosulkv")cof:=cosulkv.NewCofig()orWithOptioscof:=cosulkv.NewCofig(cosulkv.WithPrefix(prefix),//cosulkv前缀cosulkv.WithAddress(address),//cosul地址cosulkv.WithAuth(userame,password),//cosul用户密码cosulkv.WithToke(toke),//cousltokecosulkv.WithLoger(loger),//loger)Iitiferr:=cof.Iit();err!=il{returerr}Putiferr:=cof.Put(key,value);err!=il{returerr}Deleteiferr:=cof.Delete(key);err!=il{returerr}Get//scaiferr:=cof.Get(key).Sca(x);err!=il{returerr}//getfloatfloat:=cof.Get(key).Float()//getfloatwithdefaultfloat:=cof.Get(key).Float(defaultFloat)//getiti:=cof.Get(key).It()//getitwithdefaulti:=cof.Get(key).It(defaultIt)监听cof.Watch(path,fuc(r*Result){r.Sca(x)})停止监听//stopsiglewatchercof.StopWatch(path)//stopmultiplewatchercof.StopWatch(path1,path2)//stopallwatchercof.StopWatch()通过tag自动获取/自动更新定义变量时添加cosul:""标签进行自动注册及获取import("github.com/xxjwxc/cosult")typeIfostruct{Portstrig`yaml:"port"cosul:"port"`//端口号}varifoIfocosult.AutoLoadCofig(cof,&ifo)//自动加载cosult.AutoSetCofig(cof,&ifo,false)//执行一次自动更新完整例子import("fmt""testig""github.com/xxjwxc/cosult/cosulkv""github.com/xxjwxc/cosult")typeCofigstruct{MySQLIfoMysqlDbIfo`yaml:"mysql_ifo"cosul:"mysql_ifo"`Portstrig`yaml:"port"cosul:"port"`//端口号}//MysqlDbIfomysqldatabaseiformatio.mysql数据库信息typeMysqlDbIfostruct{Hoststrig`validate:"required"cosul:"host"`//Host.地址Portit`validate:"required"cosul:"port"`//Port端口号Useramestrig`validate:"required"cosul:"userame"`//Userame用户名Passwordstrig`cosul:"password"`//Password密码Databasestrig`validate:"required"cosul:"database"`//Database数据库名Typeit//数据库类型:0:mysql,1:sqlite,2:mssql}fucmai(){cof:=cosulkv.NewCofig(cosulkv.WithPrefix("service/serverame"),//cosulkvprefixcosulkv.WithAddress("192.155.1.150:8500"),//cosuladdress)iferr:=cof.Iit();err!=il{mylog.Error(err)retur}varcofigCofigcosult.AutoLoadCofig(cof,&cofig)//自动加载fmt.Pritl(cofig)cosult.AutoSetCofig(cof,&cofig,false)//执行一次更新fmt.Pritl(cofig)}点击空白处退出提示
评论