美文网首页
缓存技术

缓存技术

作者: TimMei3345 | 来源:发表于2017-02-28 17:03 被阅读0次

内存缓存

    1. LRU:缓存内部用双向链表和NSDictionary实现LRU(least-recently-used)淘汰算法
    2.缓存控制:支持多种缓存控制方法,总数量、总大小、存活时间、空闲空间
    3.兼容性:API和NSCache保持一致,优化同步访问性能,用OSSpinLock保证线程安全
    4.对象释放控制:对象的释放可以配置为同步和异步进行,配置在主线程和后台线程进行
    5.自动清空:当收到内存警告或app进入后台,缓存可以配置为自动清空

磁盘缓存

    特点:基于SQLite数据库,可以很好的支持源数据、拓展方便、数据统计速度快,容易实现LRU或其他淘汰算法。根据SQLite的真机表现,在iPhone6S 64G下,SQLite写入性能比直接写文件要高,但读取性能取决于数据大小:当单条数据小于20K时,数据越小SQLite读取性能越高;单条数据大于20K时,直接写入文件更快一点。和SQLite官网描述
 [http://www.sqlite.org/intern-v-extern-blob.html](http://www.sqlite.org/intern-v-extern-blob.html) 

基本一致。此外,直接从官网下载最新的SQLite源码编译,比iOS系统自带的sqlite3.dylib性能高很多。SQLite和文件存储相结合:key-value元数据保存SQLite,value数据根据大小选择SQLite或文件存储,NSURLCache选定的数据大小阈值为16K。

   1.可定制性: 磁盘缓存支持自定义的归档解档方法,以支持那些没有实现 NSCoding 协议的对象。
   2. 存储类型控制: 磁盘缓存支持对每个对象的存储类型 (SQLite/文件) 进行自动或手动控制,以获得更高的存取性能。

相关文章

  • php缓存技术

    php缓存技术 普遍缓存技术 数据缓存:这里所说的数据缓存是指数据库查询缓存,每次访问页面的时候,都会先检测相应的...

  • 缓存技术

    一、缓存概述 缓存是高速缓冲存储器、一种特殊的存储器子系统,其中复制了频繁使用的数据以便于快速的访问 缓存是分布式...

  • 缓存技术

    1.页面静态化 把已有的动态页面静态化,并让它按时在数据库中重新取数据更新页面。 优点:加载快。 主要应用了 文件...

  • 缓存技术

    为了减少我们从网络获取数据(图片)的次数,我们会从网络获取到之后,缓存到我们的内存中。所以在我们网络编程中,缓存技...

  • 缓存技术

    内存缓存 磁盘缓存 基本一致。此外,直接从官网下载最新的SQLite源码编译,比iOS系统自带的sqlite3.d...

  • 《分布式技术原理与算法解析》学习笔记Day24

    分布式缓存 在计算机领域,缓存是一个非常重要的、用来提升性能的技术。 什么是分布式缓存? 缓存技术是指用一个更快的...

  • php-面试第三篇

    42、PHP缓存技术有哪些?1)、全页面静态化缓存2)、页面部分缓存3)、数据缓存4)、查询缓存5)、按内容变更进...

  • SpringBoot中Cache的正确使用

    上篇文章介绍了各种缓存技术,前端技术等来提高web程序的性能,这篇文章主要介绍SpringBoot中的缓存技术来提...

  • 互联网常见的四大技术

    互联网常见的四大技术 缓存 限流 熔断降级 隔离或分离 1.缓存 缓存类型:分布式缓存(代表redis)、本地缓存...

  • rails缓存技术

    三种缓存技术:页面,动作和片段。 Rails 默认支持片段缓存。如果想使用页面缓存和动作缓存,要在 Gemfile...

网友评论

      本文标题:缓存技术

      本文链接:https://www.haomeiwen.com/subject/azvxgttx.html