YYCache 中分为YYMemoryCache 和 YYDiskCache 两种存储方式 下面解析两个类 使用 LRU淘汰算法

  • YYMemoryCache
    内部是对的 _YYLinkedMap(双向链表) 的操作, _YYLinkedMap 是对 _YYLinkedMapNode(节点)的封装. 使用_YYLinkedMap 的原因是 每次添加或者访问到某个_YYLinkedMapNode 的时候, 都需要将这个 _YYLinkedMapNode 移动到头结点. 因为频繁的涉及到 增加, 删除, 移动, 用双向链表的效率会比较高.
  • YYDiskCache
    内部是对 YYKVStorage 的操作, YYKVStorage 是对 YYKVStorageItem 的操作, 使用 sqlite3 做磁盘缓存.

读 YYCache 源码解析相关推荐

  1. YYCache 源码解析

    YYCache 源码解析 YYCache是国内开发者ibireme开源的一个线程安全的高性能缓存组件,代码风格简洁清晰,在GitHub上已经有了1600+颗星. 阅读它的源码有助于建立比较完整的缓存设 ...

  2. YYCache 源码解析(一):使用方法,架构与内存缓存的设计

    YYCache是国内开发者ibireme开源的一个线程安全的高性能缓存组件,代码风格简洁清晰,阅读它的源码有助于建立比较完整的缓存设计的思路,同时也能巩固一下双向链表,线程锁,数据库操作相关的知识. ...

  3. iOS本地缓存方案之YYCache源码解析

    iOS持久化方案有哪些? 简单列举一下,iOS的本地缓存方案有挺多,各有各的适用场景: NSUserDefault : 系统提供的最简便的key-value本地存储方案,适合比较轻量的数据存储,比如一 ...

  4. 人人都能读懂的react源码解析(大厂高薪必备)

    人人都能读懂的react源码解析(大厂高薪必备) 1.开篇(听说你还在艰难的啃react源码) ​ 本教程目标是打造一门严谨(严格遵循react17核心思想).通俗易懂(提供大量流程图解,结合demo ...

  5. 谷歌BERT预训练源码解析(二):模型构建

    版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明. 本文链接:https://blog.csdn.net/weixin_39470744/arti ...

  6. libev源码解析——监视器(watcher)结构和组织形式

    在<libev源码解析--总览>中,我们介绍了libev的一些重要变量在不同编译参数下的定义位置.由于这些变量在多线程下没有同步问题,所以我们将问题简化,所提到的变量都是线程内部独有的,不 ...

  7. 彻底理解OkHttp - OkHttp 源码解析及OkHttp的设计思想

    OkHttp 现在统治了Android的网络请求领域,最常用的框架是:Retrofit+okhttp.OkHttp的实现原理和设计思想是必须要了解的,读懂和理解流行的框架也是程序员进阶的必经之路,代码 ...

  8. 读Lodash源码——chunk.js

    The time is out of joint: O cursed spite, That ever I was born to set it right. --莎士比亚 最艰难的第一步 最近学习遇 ...

  9. 【vuejs深入三】vue源码解析之二 htmlParse解析器的实现

    写在前面 一个好的架构需要经过血与火的历练,一个好的工程师需要经过无数项目的摧残. 昨天博主分析了一下在vue中,最为基础核心的api,parse函数,它的作用是将vue的模板字符串转换成ast,从而 ...

最新文章

  1. Linux程序包管理之RPM
  2. Postfix邮件服务器搭建之roundcube webmail安装与配置
  3. python 培训-Python培训
  4. hdu 3392 Pie
  5. 北斗导航 | Select Satellite 选星算法
  6. linux简单使用命令发送邮件
  7. hdu 4284 floyd+暴搜
  8. 集成测试还原数据库_项目学生:分片集成测试数据
  9. JavaSE——异常处理(异常简介、try-catch-finally、throws、throw)
  10. 非负矩阵分解推导(NMF)
  11. 基础学习笔记之opencv(14):随机数发生器绘制文字
  12. 计算机专业术语的通俗解释,计算机专业术语解释
  13. 字体设计灵感|浓墨重彩!代表“墨”字设计案例
  14. 用unity制作能量护盾(1)
  15. 慢雾安全工程师:安全审计是目前保护 DeFi 项目安全最高性价比的方式
  16. python 运算符与流程控制
  17. Linux命令解释之passwd
  18. 《四 spring源码》spring的事务注解@Transactional 原理分析
  19. iOS使用电脑Safari浏览器查看真机h5网页元素
  20. 任正非千金买马骨:与李一男戏剧性恩怨情仇

热门文章

  1. 北京圣皇国际钻石画是骗人的
  2. chrome(谷歌浏览器) 取消打印预览
  3. 怎样用C语言输出一张图片
  4. 仰望星空,脚踏实地之我的成长之路
  5. ArcGIS教程:半变异函数协方差云工具
  6. android华为手机开启蓝牙耳机,华为手机如何连接蓝牙耳机? 华为手机连接蓝牙耳机方法教程介绍!...
  7. 第10期《长啸激清风》2月刊
  8. VSCODE配置platformio,以及最左边的一列不会显示小蜜蜂图标的问题解决
  9. word文档美化技巧:加个边框提升版面颜值
  10. JavaScript(网页特效案例)