数据缓存方案

数据缓存方案

by 伍雪颖


今天考虑一个适合自己项目的缓存方案,基本都实验了下(曾经一直用CoreData)
1.coredata,用MagicalRecord+Mogenerator
要建表,还要写好多解析代码,果断不用,好麻烦
2.序列化

[NSKeyedArchiver archiveRootObject:model toFile:path];

[NSKeyedUnarchiver unarchiveObjectWithFile:path];

好方便,只是总感觉体验不好,測了下方法时间,当model量大后解析时间基本在200ms以上了,放弃使用
3.sqllite
用了前期唐巧推荐的一个开源键值库,用起来好方便

[[WTUtilsshared].db clearTable:@"RestList"];

[[WTUtilsshared].db putObject:responsewithId:@"restList"intoTable:@"RestList"];

再结合今天看的Mantle

- (void)loadSavedData {
    dispatch_async(dispatch_get_global_queue(0, 0), ^{
        id data = [[WTUtils shared].db getObjectById:@"restList" fromTable:@"RestList"];
        restListArray = [WTRestListEntity getRestListArray:data];
        if (restListArray != nil) {
            DELAYEXECUTE(0.0, [_tableView reloadData]);
        }else {
            [ZAActivityBar showWithStatus:@"loading..."];
        }
    });
}
最后缓存效果不错,代码操作简单,可操作性好.



原文地址:https://www.cnblogs.com/mengfanrong/p/5165287.html