zoukankan      html  css  js  c++  java
  • 数据缓存方案

    数据缓存方案

    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..."];
            }
        });
    }
    最后缓存效果不错,代码操作简单,可操作性好.



  • 相关阅读:
    用内联取代宏代码
    参数的缺省值
    令人迷惑的隐藏规则
    重载与覆盖
    重载是如何实现的?
    重载的起源
    C++函数的高级特性
    使用调试器逐步跟踪程序
    new/delete 的使用要点
    malloc/free 的使用要点
  • 原文地址:https://www.cnblogs.com/mengfanrong/p/5165287.html
Copyright © 2011-2022 走看看