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

wordpress 禁止google360优化大师最新版

wordpress 禁止google,360优化大师最新版,开发类似wordpress,网站排名超快极客兔兔7Days GeeCache - Day1 interface{}:任意类型 缓存击穿:一个高并发的请求查询一个缓存中不存在的数据项,因此这个请求穿透缓存直接到达后端数据库或数据源来获取数据。如果这种请求非常频繁,就会导致后端系统的负载突然…

极客兔兔7Days

GeeCache

- Day1
  • interface{}:任意类型

  • 缓存击穿:一个高并发的请求查询一个缓存中不存在的数据项,因此这个请求穿透缓存直接到达后端数据库或数据源来获取数据。如果这种请求非常频繁,就会导致后端系统的负载突然增加,可能会使数据库或数据源响应变慢甚至宕机,从而影响整个系统的性能和稳定性。

    • 解决1:设置热点数据永不过期
    • 解决2:使用锁机制确保只有一个请求去访问数据库,其他的请求等待这个请求的结果
    • 解决3:设置时间更长的二级缓存
  • 缓存淘汰策略

    • FIFO:先进先出,也就是淘汰缓存中最老(最早添加)的记录
    • LFU:最少使用,也就是淘汰缓存中访问频率最低的记录
    • LRU:最近最少使用,相对于仅考虑时间因素的 FIFO 和仅考虑访问频率的 LFU,LRU 算法可以认为是相对平衡的一种淘汰算法。
  • list常用方法New()PushFront(v interface{}) *ElementPushBack(v interface{}) *ElementRemove(e *Element) interface{}Front() *ElementBack() *ElementNext() *ElementPrev() *Element

  • 使用list和map实现,cache中记录缓存最大容量和当前数据大小,对于刚访问的元素,将其移到list的最头部,表示最近刚使用过,删除时选择最尾部的数据进行删除,entry实际是list的节点数据类型,在删除对应节点后,同时删除map中的数据,实现查找、删除、增加、修改功能

  • 代码

    • package geeimport "container/list"type Cache struct {maxBytes int64nbytes   int64ll       *list.Listcache    map[string]*list.Element
      }type entry struct {key   stringvalue Value
      }type Value interface {Len() int
      }func New(maxBytes int64) *Cache {return &Cache{maxBytes: maxBytes,ll:       list.New(),nbytes:   0,cache:    make(map[string]*list.Element),}
      }// 查找
      func (c *Cache) Get(key string) (value Value, ok bool) {if ele, ok := c.cache[key]; ok {// 假设头部是队尾c.ll.MoveToFront(ele)kv := ele.Value.(*entry)return kv.value, true}return nil, false
      }// 删除
      func (c *Cache) Delete() {ele := c.ll.Back()if ele != nil {c.ll.Remove(ele)// 类型断言kv := ele.Value.(*entry)delete(c.cache, kv.key)c.nbytes -= int64(len(kv.key)) + int64(kv.value.Len())}
      }// 添加
      func (c *Cache) Add(key string, value Value) {if ele, ok := c.cache[key]; ok {c.ll.MoveToFront(ele)kv := ele.Value.(*entry)c.nbytes += int64(value.Len()) - int64(kv.value.Len())kv.value = value} else {ele := c.ll.PushFront(&entry{key, value})c.nbytes += int64(len(key)) + int64(value.Len())c.cache[key] = ele}for c.maxBytes != 0 && c.maxBytes < c.nbytes {c.Delete()}
      }func (c *Cache) Len() int {return c.ll.Len()
      }
      
http://www.hrbkazy.com/news/17589.html

相关文章:

  • 建材 网站 模板个人网页设计作品模板
  • 网站建设情况报告连接友谊
  • 中小学生在线做试卷的网站广告推广渠道有哪些
  • 网站建设毕业实习报告天津百度推广排名
  • 怎样做网站初中生营销渠道策略有哪些
  • 西安做网站公司报价小游戏推广接单平台
  • 中国工程信息网站2023b站免费推广入口
  • 网站建设项目外包合同范本怎么建网站赚钱
  • 成都网站建设公司找广告商的平台
  • 怎样提高网站排名今日热榜
  • 北京网站建设开发微信朋友圈推广
  • 确定B2B网站建设方案百度做广告多少钱
  • 求一些做里番的网站新媒体推广渠道有哪些
  • 网站开发需要会什么软件营销型网站建设托管
  • 网站功能需求文档小红书seo排名帝搜软件
  • 江苏城乡建设手机优化大师下载2022
  • 建立网站有什么作用品牌策划书案例
  • 全县网站建设管理工作会议召开深圳推广平台深圳网络推广
  • 东莞知名网站建设挖掘爱站网
  • 网站排行怎么做河北软文搜索引擎推广公司
  • 自己做的网站如何链接到百度学生个人网页制作
  • 1688网站一起做网店独立站网站
  • 怎样制作wordpress主题汉化包北京seo优化排名推广
  • 极速网站建设公司电话成人培训机构
  • 网站推广效果的评价自助建站官网
  • 城乡建设委员会官方网站seo顾问是什么职业
  • 如何宣传网站一手渠道推广平台
  • 国外开源 企业网站四年级2023新闻摘抄
  • 网站开发软件平台有哪些举一个网络营销的例子
  • 手机网站内容模块外链推广网站