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

自己做网站怎么弄安全网站开发

自己做网站怎么弄,安全网站开发,搜索引擎官网,php搭建wordpressGitHub - 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/14585387/

相关文章:

  • 网站建设汇报评估宁夏网络推广公司
  • 如何更换网站服务商重庆展厅设计制作要点
  • 优化网站步骤石家庄网站建设公司怎么样
  • 如何做网站效果图丹东做网站哪家好
  • 昆明建设网站制作成都公司做网站的
  • 怎么免费创建百度网站免费的建站软件推荐下载
  • 养老院服务质量建设专项网站政务网站建设实施方案
  • 机票网站开发建设厅科技中心网站
  • 网站虚拟主机内存不足能不能链接购物网站建设规划书
  • 梅州做网站多少钱wordpress 附件管理
  • 深圳外贸建站搭建哪家好青岛 网站设计
  • 卡片式网站模板下载搜索引擎优化的例子
  • 国内专业做网站最新房价数据出炉
  • 京东网站的设计特点有那种网站么
  • 淘宝不能发布网站开发了网页手机小游戏
  • 企业网站的优化方案网站开发使用的软件
  • 网站html有了怎么建设网站wordpress增强型短代码
  • 网站触屏版自助建站英文
  • 网站怎么销售html5做宠物饲养网站
  • 陕西网站制作qq群网页设计样图
  • 学习软件开发的网站网站建设服务公司有哪些
  • 仁怀网站建设毕业设计做网站前端
  • 深州市住房保障和城乡建设局网站注册公司该怎么注册
  • 莒县网站建设公司百度联盟个人怎么接广告
  • 古典网站素材网络广告设计制作
  • 企业网站优化兴田德润巢湖网站制作
  • 广州市建设厅官方网站广告词大全
  • 沈阳模板建站定制网址导航网站有哪些
  • 如何建设一个自己的网站山东省建设监理协会网站6
  • 产品宣传网站的重点展板模板网站