首页 > 技术文章 > 缓存有关的几个问题

wylwyl 2019-05-30 19:10 原文

缓存有关的问题

1缓存可以存在哪些地方?

l  游览器

l  游览器和App之间

l  分层过的APP

l  数据库

 

2所有的数据都可以缓存吗?

缓存一段时间内不变的数据

 

3缓存有哪些属性?

命中率:请求缓存次数和缓存返回正确结果次数的比例.比例越高,就证明缓存的使用率越高。

最大元素:缓存中可以存放得最大元素得数量,一旦缓存中元素数量超过这个值,那么将会起用缓存清空策略。

清空策略:

l  FIFO最先进入缓存得数据在缓存空间不够情况下(超出最大元素限制时)会被首先清理出去

l  LFU一直以来最少被使用的元素会被被清理掉

l  LRU最近最少使用的,缓存的元素有一个时间戳,当缓存容量满了,而又需要腾出地方来缓存新的元素的时候,那么现有缓存元素中时间戳离当前时间最远的元素将被清出缓存。

 

缓存介质:内存和硬盘

内存:将缓存放在内存中是最快的选择,任何程序直接操作内存都比操作硬盘要快的多, 但是如果你的数据要考虑到break down的问题,因为放在内存中的数据我们称之为没有持久话的数据。

硬盘:一般来说,很多缓存框架会结合使用内存和硬盘,比如给内存分配的空间有满了之后,

会让用户选择把需要退出内存空间的数据持久化到硬盘.当然也选择直接把数据放一份到硬盘。

数据库:可以使用数据库进行缓存

 

 

 

推荐阅读