美文网首页
iOS 缓存~YYCache

iOS 缓存~YYCache

作者: NapoleonY | 来源:发表于2018-08-24 19:29 被阅读17次

概述

通常缓存是由:内存缓存和磁盘缓存两部分组成。内存缓存提供容量小但高速的存取功能,磁盘缓存提供容量大但低速的持久化缓存。

  • 内存缓存:例如NSCacheNSDictionary
  • 磁盘缓存:例如基于SQLite等

YYMemoryCache

_YYLinkedMapNode_YYLinkedMap是双向链表节点与双向链表

  • _YYLinkedMapNode:既有基本的_prev_next,也有_key_value
  • _YYLinkedMap:作为由_YYLinkedMapNode组成的双向链表,使用CFMutableDictionaryRef _dic字典存储_YYLinkedMapNode中的_key_value,同时使用_YYLinkedMapNode *_head_YYLinkedMapNode *_tail维护双向链表。
    解析:这样做既可以保证,能够通过字典的Hash快速定位用户要访问的缓存对象,也可以实现LRU这种缓存替换算法

参考

  1. YYCache 设计思路
  2. 从 YYCache 源码 Get 到如何设计一个优秀的缓存

未完待续

相关文章

网友评论

      本文标题:iOS 缓存~YYCache

      本文链接:https://www.haomeiwen.com/subject/wyuiiftx.html