缓存类型?——我所见到的缓存
和同学聊天聊到了缓存,他向我抱怨。咱们老是说缓存,可是怎么感觉什么地方都有缓存,有时就会不知道你在说哪种缓存?
我回头想想。也是我们再非常多地方都有见过缓存:
1. server端缓存
当然server端缓存作用非常多,我最常见的是缓存数据库内容,防止不断向数据库读取相同的内容,适用于读写比大于10的。
2. client缓存
也称为浏览器缓存。主要保存的是网页、图片、cookie等信息。在Internet选项中能够查看:
3. APPLET缓存
为了防止每次从server上获取Applet文件,浏览器能够利用缓存进行优化:
假设你点击键盘上的x,就会清空缓存。
4. 算法中的缓存
往往是利用空间换时间的,比方斐波拉契数列就是,如f(n)是缓存的话。在计算f(n)的时候新建。在计算完f(n+2)之后缓存失效。以此避免反复计算,减小时间复杂度。
5. 类、设计模式中的缓存
比方单例模式、多例模式中用单例或者MAP进行缓存,这样的缓存往往不会失效。
又比方Integer.valueOf()也是用到了缓存思想。