iOS一行代码搞定数据库(FMDB结合ReactiveCocoa)(6)

本文介绍了一种适用于多线程环境的高效数据缓存技术,包括如何将数据保存到数据库、按照特定字段排序、分页取出数据、避免重复缓存、异步存储与取出操作、以及使用事务优化存储效率。同时提供了示例代码演示如何应用这些功能。
摘要由CSDN通过智能技术生成

如要查看完整代码,请移步仿煎蛋github

1、适用范围

  • 列表数据的缓存,支持多线程(存入数据格式为模型数组,使用简单)
  • 取出时,按照某一字段排序(使用KVC),例如id,或者时间
  • 支持分页取出
  • 不会重复缓存数据
  • 异步存储,取出
  • 使用事务,提高存储效率,减少IO
  • 默认使用模型名为tableName,也可自己制定tableName

1、示例

(1) 保存到数据库
[[CacheTools sharedCacheTools] save:self.cacheArray sortArgument:@"id"];

补充:想要获得存储的结果

[[[CacheTools sharedCacheTools] racSave:self.cacheArray sortArgument:@"id"] subscribeNext:^(NSArray *savedArray) {
        //savedArray:本次存入到数据库的数据,按照"id"字段排序
    } error:^(NSError *error) {
        //存入失败的原因
    }];
(2) 从数据库取出数据
 [[[CacheTools sharedCacheTools] read:TemplateModel.class page:2] subscribeNext:^(NSArray *cacheArray) {
        //返回结果
    } error:^(NSError *error) {
        //返回错误原因
    }];
(3)清空数据库
//清空数据
[[CacheTools sharedCacheTools]  clearDatabase];

//删除数据库文件
[[CacheTools sharedCacheTools]  deleteDatabase];
(4)获得缓存大小
[[CacheTools sharedCacheTools] getSize];
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值