iOS离线缓存架构设计方案

原文发布在个人简书,更多内容欢迎关注笔者简书 ,评论、互相交流请到简书,谢谢!

现在许多主流的App都会做离线缓存功能,比如“今日头条”,“新浪微博”,每次启动项目或者刷新有网络时都是获取网络数据,网络出错时会展示缓存数据提高用户体验。

笔者就结合之前见过的、以及笔者自己做缓存的方式,谈一谈离线缓存的实现方案以及其中的优缺点。“今日头条”,“新浪微博”都是缓存了第一页的数据,笔者这里也是这样。

无demo不文章,笔者已将demo1 demo2 写好,欢迎下载.

缓存数据的方式一般有以下几种:

  • 保存到plist文件
  • 保存到沙盒
  • CoreData
  • 数据库

由于这里缓存相对大量的数据,采用sqllite数据库来实现离线缓存。

通过下面几个问题来讲述离线缓存的过程

  • 怎么设计SQL语句?
  • 缓存什么样的数据到数据库: JSON格式数据 or 模型格式数据?
  • 缓存key的格式:URL+参数的方式
  • 缓存的方案

一、怎么设计SQL语句?

有的朋友在做缓存的时候,会这样设计sql语句

创建表的sql

插入的sql
上面的方式设计sql语句,看上去明显很繁琐,涉及到的字

  • 1
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值