• 海空联合演练相关新闻 2019-01-05
  • 登录 立即注册
    金钱:

    广州快乐十分开奖记录

    广东快乐十分高手贴吧:iOS缓存控件

    [复制链接]
    来自: 李世铿 分类: iOS精品源码 上传时间: 2017-3-10 16:59:04
    Tag:缓存优化 , 数据 , 界面布局 , 数据源 , 控制器

    项目介绍:

    kache

    广州快乐十分开奖记录 www.2hyn.net iOS缓存控件,支持哈希,队列和时间池。

    Kache提供了一套数据缓存方案。无缓存场景下,数据从远程服务器加载到客户端,生成数据对象供客户端应用使用。

    使用Kache作为应用的缓存方案,流程则为:每次需要加载数据之前,开发者先从Kache中获取数据

    若Kache返回一个空值则证明该缓存项不存在,需要再次从远程服务器获取数据,数据返回,生成数据对象的同时,通过Kache存入缓存,供下次使用;

    若Kache返回数据,则可直接生成数据对象。

    使用方法

    import Kache的头文件 KCH.h

    #import "KCH.h"

    Kache的每个实例是一个缓存空间不同的缓存空间互相独立??⒄呖梢缘ザ莱跏蓟疜ache实例对象,并指定FileToken作为标记,或直接使用Kache提供的静态方法,操作默认空间。
    Kache提供的所有静态方法,都有对应Kache的实例方法。

    添加缓存
    把ID为“123456”的一个数据“ThisIsADemoData.”存入缓存,1小时候过期。

    [Kache setValue:@"ThisIsADemoData" forKey:@"123456" expiredAfter:3600];

    取出KEY为“123456”的数据,并打印。

    NSString *demoData = [Kache valueForKey:@"123456"];
    NSLog(@"Data:%@", demoData);

    使用KPool。KPool提供了一个可变大小的缓存池,原理是:当存入Pool中的对象超过配置文件中配置的KACHE_DEFAULT_POOL_SIZE,则最早过期的一个将被清除。自己定义的Pool可以指定这个值。
    一个缓存控件内可以使用多个Pool,开发者可以选择自己定义或使用默认的。
    读取Pool中的值与普通对象一样。

    [Kache setValue:@"PoolValue1" inDefaultPoolForKey:@"key_1_in_pool" expiredAfter:0];

    使用KQueue。KQueue提供了一个可变大小的缓存队列。与KPool一样,开发者可以选择使用默认或自定义的。
    KQueue中的对象不允许指定过期时间,全部使用默认值,切没有KEY,只能通过push方法存入和pop方法获取。

    [Kache pushValue:@"inQueue1"]; // 队列:{"inQueue1"}
    [Kache pushValue:@"inQueue2"]; // 队列:{"inQueue1", "inQueue2"}
    [Kache pushValue:@"inQueue3"]; // 队列:{"inQueue1", "inQueue2", "inQueue3"}
    
    NSLog(@"%@", [Kache popValue]); // 打印 "inQueue1", 队列:{"inQueue2", "inQueue3"}
    

    调用save方法把缓存空间归档,调用load方法重新载入

    [Kache save]; // 归档
    [Kache load]; // 重新载入,每次启动自动调用

    配置文件

    kache.conf

    通过修改配置文件可以改变Kache控件的工作状态

    #define     KACHE_DEFAULT_POOL_SIZE     20
    #define     KACHE_DEFAULT_QUEUE_SIZE    10
    
    // Default expired time, 10 Days.
    #define     KACHE_DEFAULT_LIFE_DURATION 864000
    
    // 把内存归档到磁盘的阈值,单位 byte
    #define ARCHIVING_THRESHOLD             50000

    github地址:
    https://github.com/gaosboy/kache
    code4app

    相关源码推荐:

    我来说两句
    *滑动验证:
    所有评论(99)
    kengsir 2017-3-10 16:59:08
    code4app好的代码demo真的很多,谢谢啦~
    回复
    BlueManlove 2017-3-10 16:59:24
    膜拜大神~
    回复
    AlonMessi 2017-3-10 17:00:04
    帮帮顶顶??!
    回复
    phoiu 2017-3-10 17:00:21
    感谢分享,楼主V5~
    回复
    hellokenken 2017-3-10 17:01:07
    学习...学习...
    回复
    littleRed 2017-3-10 17:02:43
    code4app确实是个好地方,必须支持~
    回复
    code4app热心网友 2017-3-10 18:46:50
    正需要啊,感谢楼主无私分享!
    回复
    code4app热心网友 2017-3-11 17:23:51
    我只是路过打酱油的。
    回复
    code4app热心网友 2017-3-13 09:34:36
    淡定,淡定,淡定……
    回复
    提取码:  下载次数:75 状态:已购或VIP 售价:0(原价:10)金钱 下载权限:初级码农 
    2866 0 75
    联系我们
    首页/微信公众账号投稿

    帖子代码编辑/版权问题

    QQ:435399051,742864542

    如何获得代码达人称号?

    代码贡献英雄榜
    用户名 下载数
    通过邮件订阅最新 Code4App 信息
    上一条 /4 下一条
    联系我们
    关闭
    合作电话:
    13802416937
    Email:
    [email protected]
    商务市场合作/投稿
    问题反馈及帮助
    联系我们

    广告投放| Github|申请友链|手机版|广州快乐十分开奖记录 ( 粤ICP备15117877号-1 )

    快速回复 广州快乐十分开奖记录 返回列表
  • 海空联合演练相关新闻 2019-01-05