iOS 缓存~YYCache
2018-08-24 本文已影响17人
NapoleonY
概述
通常缓存是由:内存缓存和磁盘缓存两部分组成。内存缓存提供容量小但高速的存取功能,磁盘缓存提供容量大但低速的持久化缓存。
- 内存缓存:例如
NSCache
、NSDictionary
等 - 磁盘缓存:例如基于SQLite等
YYMemoryCache
_YYLinkedMapNode
与_YYLinkedMap
是双向链表节点与双向链表
-
_YYLinkedMapNode
:既有基本的_prev
、_next
,也有_key
、_value
, -
_YYLinkedMap
:作为由_YYLinkedMapNode
组成的双向链表,使用CFMutableDictionaryRef _dic
字典存储_YYLinkedMapNode
中的_key
、_value
,同时使用_YYLinkedMapNode *_head
与_YYLinkedMapNode *_tail
维护双向链表。
解析:这样做既可以保证,能够通过字典的Hash快速定位用户要访问的缓存对象,也可以实现LRU这种缓存替换算法