如要查看完整代码,请移步仿煎蛋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];