当前位置: 首页 > news >正文

自己做网站怎么弄seo快速排名公司

自己做网站怎么弄,seo快速排名公司,网站建设公司经营,中国最大的求购平台GitHub - kocor01/kcache: go 本地缓存解决方案#xff0c;支持本地缓存过期、缓存过期自维护机制。 最近系统并发很高#xff0c;单接口10W的 QPS#xff0c;对 redis 压力很大#xff0c;大量的热KEY导致 redis 分片CPU资源经常告警。计划用 go 本地缓存缓解 redis 的压…GitHub - kocor01/kcache: go 本地缓存解决方案支持本地缓存过期、缓存过期自维护机制。 最近系统并发很高单接口10W的 QPS对 redis 压力很大大量的热KEY导致 redis 分片CPU资源经常告警。计划用 go 本地缓存缓解 redis 的压力。 有多个系统需要使用本地缓存写了 KCache 方便各个系统使用。 本地压测达到 100W QPS。 使用请参考 使用实例 创建KCache 创建一个KCache, 默认本地缓存过期时间 5s kc : New()创建一个KCache, 自定义本地缓存过期时间 kc : NewWithExp(2 * time.Second)获取缓存 GET 获取缓存函数不带参数本地缓存过期时间为创建 KCache 时设置的全局过期时间。 kc : New()d : kc.Get(myKey, GetData())GET 方法包含两个参数第一个参数为缓存的key第二个参数为获取缓存数据的函数。当缓存不存在时会调用函数获取数据并将数据缓存起来。 函数需符合 GetKcDatafunc 类型、返回值需符合 KcData 类型。 type GetKcDatafunc func() KcDatatype KcData struct { interface{} error }示例 // 获取缓存数据 func GetData() GetKcDatafunc {return func() KcData {// sleep 模拟从 Redis、DB 中获取数据time.Sleep(20 * time.Millisecond)d : map[string]string{k1: value1,k2: value2,}return KcData{d: d, err: nil}} }Get 获取缓存函数带参数 kc : New() params : map[string]string{k1: value1,k2: value2, } d : kc.Get(myKey, GetDataV2(myKey, params))示例 // 获取缓存数据 func GetDataV2(key string, params map[string]string) GetKcDatafunc {return func() KcData {// sleep 模拟从 Redis、DB 中获取数据也可以先从 redis 获取数据, 如果获取不到再从 DB 中获取。time.Sleep(20 * time.Millisecond)data : make(map[string]string)for k, v : range params {data[kkey] v}return KcData{d: data, err: nil}} }GetWithExp 获取缓存自定义本地缓存时间 kc : New() exp : 2 * time.Second params : map[string]string{k1: value1,k2: value2, } d : kc.GetWithExp(myKey, exp, GetDataV2(myKey, params))GetKcDatafunc 实现 Kcache 中间函数强烈推荐 通过 Kcache 中间函数调用原有的获取数据函数该函数内部不含任何业务代码减少业务代码与缓存代码的耦合。 kc : New() exp : 2 * time.Second params : map[string]string{k1: value1,k2: value2, } d : kc.GetWithExp(myKey, exp, GetDataKcache(myKey, params))// 获取缓存数据, Kcache 中间函数 func GetDataKcache(key string, params map[string]string) GetKcDatafunc {return func() KcData {data, err : GetDataV2(key, params)return KcData{Data: data, Err: err}} }// 获取数据 func GetDataV2(key string, params map[string]string) (map[string]string, error) {// sleep 模拟从 Redis、DB 中获取数据也可以先从 redis 获取数据, 如果获取不到再从 DB 中获取。time.Sleep(20 * time.Millisecond)data : make(map[string]string)for k, v : range params {data[kkey] v}return data, nil }闭包函数推荐 简单获取数据的业务逻辑可以使用闭包函数。 kc : New() params : map[string]string{k1: value1,k2: value2, } key : myKey fc : func() KcData {// sleep 模拟从 Redis、DB 中获取数据也可以先从 redis 获取数据, 如果获取不到再从 DB 中获取。time.Sleep(20 * time.Millisecond)data : make(map[string]string)for k, v : range params {data[kkey] v}return KcData{Data: data, Err: nil} } d : kc.Get(key, fc)业务混合 kc : New() d : kc.Get(myKey, GetData())// 获取缓存数据 func GetData() GetKcDatafunc {return func() KcData {// sleep 模拟从 Redis、DB 中获取数据time.Sleep(20 * time.Millisecond)d : map[string]string{k1: value1,k2: value2,}return KcData{Data: d, Err: nil}} }设置缓存 Set 设置缓存本地缓存过期时间为创建 KCache 时设置的全局过期时间。 正常情况下无需使用 Set 方法因为 Get 方法会自动设置缓存。 kc : New() params : map[string]string{k1: value1,k2: value2, } d : kc.Set(myKey, params)SetWithExp 设置缓存自定义本地缓存时间。 正常情况下无需使用 SetWithExp 方法因为 Get 方法会自动设置缓存。 kc : New() exp : 2 * time.Second params : map[string]string{k1: value1,k2: value2, } d : kc.SetWithExp(myKey, params, exp)删除缓存 Delete 删除本地缓存 正常情况下无需使用 Delete 方法因为有自动删除缓存机制。 kc : New() params : map[string]string{k1: value1,k2: value2, } d : kc.Delete(myKey)单纯使用本地缓存 不需要自维护缓存数据 底层使用的 go-cachego-cache下的所有方法都可以使用。 kc : New() // SET kc.lc.Set(myKey, myValue, 2*time.Second) // GET d, f : kc.lc.Get(myKey) // other ... 更多使用案列请参考 使用实例
http://www.hkea.cn/news/14352420/

相关文章:

  • 网站更换海外云服务器推荐
  • 专门学习网站建设读什么专业万网主机怎么上传网站吗
  • 网站建设政务新媒体应用中心软件
  • 专业设计网站排名专门做网站搜索优化的公司
  • 建设银行总行信息网站ios开发者中心
  • 新手做网站流程晋江友情链接是什么意思
  • 麓谷做网站的公司wordpress 嵌套评论
  • 建站视频佛山做网络优化的公司
  • 公司网站模板源码黄石做网站建设的
  • 桐梓县工程建设交易网站杭州seo外包
  • SEO网站价格西餐甜点网站建设
  • 营销型网站开发流程包括wordpress菜单小图标
  • html网站首页设计买了个网站源码后要怎么用
  • spark怎么做网站数据库专网建设是什么
  • 邯郸市城乡建设管理局网站网站建设图
  • 男生可以做网站编辑工作吗建设网站 无法显示图片
  • 电子商务网站设计规划书电子商务网站规书
  • 论述网站建设的步骤资阳住房和城乡建设厅官方网站
  • 广告素材网站哪个比较好wordpress 亲子主题
  • 郑州做网站公司排名wordpress提示发布失败但是成功
  • 观澜做网站公司网上怎么做销售
  • 爱网之家优化模型
  • wordpress导航栏字体义乌网站建设优化案例
  • 邢台网站设计怎么做鄂尔多斯建设局网站
  • mvc在网站开发中的应用优化设计答案六年级上册
  • 企业网站建设流程步骤做网站如何备案
  • 做公装的什么网站好dz 一步一步教你做网站
  • 网站添加手机站wordpress手机图片站
  • 网站开发必须要要掌握的语言网站策划书模板大全
  • 佳木斯网站建设公司网站开发者工具