缓存有关的几个问题

Posted wylwyl

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了缓存有关的几个问题相关的知识,希望对你有一定的参考价值。

缓存有关的问题

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

l  游览器

l  游览器和App之间

l  分层过的APP

l  数据库

 

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

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

 

3缓存有哪些属性?

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

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

清空策略:

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

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

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

 

缓存介质:内存和硬盘

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

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

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

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

 

 

 

以上是关于缓存有关的几个问题的主要内容,如果未能解决你的问题,请参考以下文章

如何在 Unity 中获取有关缓存未命中的分析数据?

C++ LRU 缓存 - 需要有关如何提高速度的建议

MySQL 和 JDBC 缓存(?)问题与 Scala 中的过程调用有关

缓存有关HTTP缓存的总结

mybatis缓存有关的设置和属性

我需要清除哪些 Laravel 缓存以删除有关丢失迁移文件的错误?