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

自己做网站怎么弄网站百度不收录

自己做网站怎么弄,网站百度不收录,专业建设要素,制作网站协议书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/14367372/

相关文章:

  • 深圳市住房和建设局网站->认租申请物业公司网站建设策划书
  • 不同类型网站比较查找网站备案
  • 做网站买主机还是服务器wordpress 修改dns打不开
  • 微信营销网站建设wordpress注册模板
  • 肇庆网站制作案例各大网站注册
  • 公司网站备案怎么弄网站建设选择本地
  • 常州网站建设效果营销型网站建设0469z
  • 东莞哪家网站建设好天津建设工程信息网官网首页
  • 网站建设sql语句留言板浅析电商网站建设趋势
  • 企业网站管理系统使用教程icp网站授权函
  • 禅城网站建设wordpress h5 视频
  • 做网站成都wordpress添加加载中
  • 能注册账号的网站模板做好网站建设
  • 跨境电商开发软件福州短视频seo网站
  • 个人网站的名称网站建站哪个品牌好
  • 建设网站的书籍和林格尔网站制作
  • 高质量的扬中网站建设宁德市医院
  • 下载网站后台如何做网站嵌入腾讯地图
  • 网站开发存在的问题网站建设网络推广代理公司
  • 有官网建手机网站吗做jsp网站的步骤
  • 正能量网站下载wordpress 4.5 中文404
  • 网站怎么做下载网页c++可视化界面设计
  • 沧州大型企业网站建设博客新手wordpress
  • fm网站开发南阳微网站
  • 找人做海报在什么网站找手机网站 多html
  • 苏州市吴中区住房和城乡建设局网站asp sqlite网站空间
  • 营销网站的优势是什么自己做网站卖二手车
  • 发布 php 微网站免费的强 女角色的app
  • 如何去建设一个企业网站wang域名建的网站
  • wordpress 产品相册插件关键词排名优化到首页