缓存

一、问题背景:

为什么要加缓存?

缓存就是要解决时间上执行慢的问题,而且前提是时间上已经没有多少优化空间,根据性能优化以空间换时间的原理,自然的就需要在空间上做优化

 

二、基础原理

根据计算机存储层次结构原理图,一个层次上的存储器是作为下一层次存储器的高速缓存。如下图所示:

缓存

 

从下往上,价格越来越贵,速度越来越快,容量越来越小。一个典型系统上的磁盘驱动器可能比主存大100倍,但对处理器而言,从磁盘驱动器上读取一个字的时间开销要比从主存中读取的开销大1000万倍

 

所以对应用开发者来说,就是要在内存和本地磁盘上作缓存处理

 

二、开展方向

既然要在本地磁盘作缓存,一般有两种策略:文件和数据库

文件和数据库不仅仅在于安卓方面是个问题,在所有系统都是一样的问题,单就历史的角度来看,数据库是晚于文件的,是基于文件系统不能很好满足现实需要而产生的,使得数据很方便增删改查,而且数据之间可建立关联,如下是网上的资料:

 

(1)文件系统用文件将数据长期保存在外存上,数据库系统用数据库统一存储数据。

(2)文件系统中的程序和数据有一定的联系,数据库系统中的程序和数据分离。

(3)文件系统用操作系统中的存取方法对数据进行管理,数据库系统用DBMS统一管理和控

制数据。

(4)文件系统实现以文件为单位的数据共享,数据库系统实现以记录和字段为单位的数据共享。

(5)文件在处理数据升级方面没有数据库封装的好用一些,数据库根据版本号区分

其联系在于:

(1)均为数据组织的管理技术。

(2)均由数据管理软件管理数据,程序与数据之间用存取方法进行转换。

(3)数据库系统是在文件系统的基础上发展而来的

 

综上:如果是需要频繁的增删改查,而且数据之间有关系,无疑数据库是首选。