iOS数据库离线缓存思路和网络层封装——原理
来源:互联网 发布:win10电脑mac地址修改 编辑:程序博客网 时间:2024/05/01 00:10
数据展示型的页面做离线缓存可以有更好的用户体验,用户在离线环境下,或是网络加载异常的情况下,仍然可以获取一些已经缓存的数据进行页面的显示,以避免页面空白。
进行数据缓存操作,首选SQLite+FMDB+LKDB。因为是轻量级,对数据的存储读取相对于其他几种方式有优势。
本文是对MKNetwork的网络框架进行缓存封装。没有涉及太多业务逻辑层面的需求,只是对一些方法再次封装方便使用,也避免项目对第三方的耦合性,能够简单的快速的更换底层使用的网络请求代码。
网络数据缓存的使用主要有以下几种情况。
情况1:有缓存,且缓存没有过期时,优先使用缓存。即在进行网络请求时,首先判断是否存在本地缓存,如果已经存在且缓存没有过期,则使用缓存数据。
情况2:有缓存,但缓存已经过期时,则重新加载新数据。即在进行网络请求时,首先判断是否存在本地缓存,如果已经存在缓存,而且缓存已经过期,则重新进行网络请求,加载最新的数据,当请求加载成功后,删除过期的缓存,并将最新的数据缓存起来,同时使用最新的数据。
情况3:有缓存,但总是加载最新的数据。即在进行网络请求时,不管有没有本地缓存,都进行网络请求加载最新的数据进行使用。
基于这三种情况,在设置缓存机制时,则可以定义三种样式:
1 不做缓存处理;
2 无视缓存,总是加载最新数据;
3 缓存过期时,才加载最新数据。
0 0
- iOS数据库离线缓存思路和网络层封装——原理
- iOS数据库离线缓存思路和网络层封装——数据缓存操作封装
- iOS数据库离线缓存思路和网络层封装——数据缓存机制Model封装
- iOS数据库离线缓存思路和网络层封装——网络请求基类封装
- iOS数据库离线缓存思路和网络层封装
- iOS 数据库离线缓存思路和网络层封装
- iOS数据库离线缓存思路和网络层封装
- iOS 数据库离线缓存思路和网络层封装
- iOS数据库离线缓存思路和网络层封装
- 数据库封装之app离线缓存
- iOS组件封装的思路和实现
- IOS网络篇2之客户端离线缓存策略(NSURLProtocol)
- iOS ---网络请求封装(自动缓存与手动缓存)
- IOS UIWebView 离线缓存
- iOS离线缓存
- iOS 基于AF网络请求封装的简易思路
- iOS--封装网络请求 ——实例
- iOS——封装网络请求
- JAVA Socket 底层是怎样基于TCP/IP 实现的
- 51nod1055(递推)
- cocos2dx--TextureAtlas
- class.forName()理解
- Java_SE10-多线程,TCP通信
- iOS数据库离线缓存思路和网络层封装——原理
- InnoDB存储引擎的文件简述(表空间文件和重做日志文件)
- [4730]:We Love MOE Girls
- ZooKeeper的工作原理
- 延时程序实现的Led灯闪砾效果
- Objective-C 深入理解 +load 和 +initialize
- QT应用程序执行错误
- 智慧城市(大数据,物联网,云计算之应用)
- 编写高效188js代码