移动开发作家群(719776724)分享专题收藏ios

如何去设计一个 iOS缓存类

2019-03-15  本文已影响198人  大兵布莱恩特

iOS 常见内存缓存方案有NSCache ,可以设置最大缓存数量,一旦超过缓存数量,就会将里边的数据进行覆盖操作,确保缓存数据不超过最大数量.
基于这样的设计 小编今天动手写了一个LRUCache 工具,用来缓存数据,内部实现了H ashMap 和 LinkList 进行数据的查找,插入,删除等操作.
实现原理如下

1 每次查找元素时 如果找到了该元素 就把该元素移动到链表头部
2 当链表存储数量超过缓存最大数时 , 会将链表末端元素移除 并将新的元素插入到链表头部

image.png

头文件声明如下


image.png

核心实现代码如下


image.png

测试用例


image.png image.png

源码下载 https://github.com/ZhaoBingDong/LRUCache.git

上一篇 下一篇

猜你喜欢

热点阅读