240 发简信
IP属地:福建
  • 写了一个方法进行功能测试

    func main() {
    cache := Constructor(3)
    cache.put(11, 1)
    cache.put(22, 2)
    cache.put(33, 3)
    cache.put(44, 4)
    cache.put(55, 5)
    cache.getCache()
    cache.get(33)
    fmt.Println("========== 获取数据之后 ===============")
    cache.getCache()
    }
    发现:
    当put大于缓存 limit 数量时,在缓存淘汰后,链表的 l.head.prev != nil
    解决:
    在代码的 55、57行,可加上:
    l.end.next = nil
    l.head.prev = nil
    维持链表的头尾结点指向空指针会更严谨一些😄

  • @cuishuang 当时刚学go,还不了解它的标准库

    golang实现LRU缓存淘汰算法

    ------2020.02.18更新------ 确保head.pre 和 end.next 为nil,感谢评论区朋友指出 LRU缓存淘汰算法 LRU是最近最少使用策略的缩写...

  • 120
    httprunner2接口测试框架说明文档

    一.流程说明 二.配置config 1. 为什么要配置? 在接口测试过程中,会有好多参数需要指定,如果没有一个统一的配置文件的话,数据会散落在各个测试用例中,后期维护的时候特...

  • python实现跳跃表(SkipList)

    跳跃表是一种随机化的数据结构,目前开源软件 Redis 和 LevelDB 都有用到它,它的效率和红黑树以及 AVL 树不相上下,但原理相当简单,只要你能熟练操作链表,就能轻...

  • namedtuple简易实现

    在python中,namedtuple创建一个和tuple类似的对象,可以使用名称来访问元素的数据对象,通常用来增强代码的可读性, 在访问一些tuple类型的数据时尤其好用。...

  • 基于docker的elasticsearch中文分词及同义词配置

    一、Elasticsearch 1.1简介 开源的 Elasticsearch 是目前全文搜索引擎的首选。 它可以快速地储存、搜索和分析海量数据。 Elastic 的底层是开...

  • golang实现LRU缓存淘汰算法

    ------2020.02.18更新------ 确保head.pre 和 end.next 为nil,感谢评论区朋友指出 LRU缓存淘汰算法 LRU是最近最少使用策略的缩写...

  • 为什么在Go语言中要慎用interface{}

    转载,原文出处:https://juejin.im/post/5ad1c766518825555e5e4646记得刚从Java转Go的时候,一个用Go语言的前辈告诉我:“要少...

  • 关于flask路由的思考

    flask路由 在使用flask时,我们设置路由的方式通常为: 问题来了, 我们并没有执行定义的函数,那么app.route()方法是如何将我们的url和视图函数象关联并打印...

  • 120
    利用scrapy登录豆瓣

    利用scrapy登录豆瓣 一、网页分析 豆瓣的登录页面如上,如果你是第一次登陆是不需要输入验证码的,当多次登录失败后将出现验证码。 点击登录并抓包,得到如下的参数 其中for...

  • 120
    docker-compose 学习笔记

    最近学习《第一本docker书》, 学习完 Docker Compose 这一章节之后打算自己使用它来构建一个使用 php 和 python 做的简易web app, 遂作此...

  • 我是渣渣辉😂

    “烂片之王”古天乐终于拿影帝,你被他骗了多少年

    昨晚,47岁的古天乐凭借《杀破狼‧贪狼》拿下第37届香港电影金像奖影帝。 其实出道25年,古天乐曾凭借《门徒》《一个好爸爸》《扫毒》三次被金像奖提名,可惜最终全都失之交臂。 ...