一.什么是缓存?
首先我们要知道缓存其实就是一个临时的存储器。
缓存有 :cookie、session、application、cache、redis
二.作用
缓存主要是为了提高数据的读取速度。因为服务器和应用客户端之间存在着流量的瓶颈,所以读取大容量数据时,使用缓存来直接为客户端服务,可以减少客户端与服务器端的数据交互,从而大大提高程序的性能。
以前实现数据的缓存有很多种方法,有客户端的Cookie,有服务器端的Session和Application。其中Cookie是保存在客户端的一组数据,主要用来保存用户名等个人信息。Session则保存对话信息。Application则是保存在整个应用程序范围内的信息,相当于全局变量。通常使用最频繁的是Session,缓存也是有限的,会自动清除之前的旧数据。其中redis的读取速度最快,并且是在内存中进行读取,当内存不够时可以扩大内存,还有就是 .net提供的Cache缓存.
三.介绍缓存
1.硬件的缓存?
cpu缓存:位于cpu和内存之间的临时存储器
2.软件缓存?
软件缓存分为三级
内存缓存(预先将数据写到容器(list,map,set)等数据存储单元中, 就是软件内存缓存)
数据库缓存
网络缓存
3.内存缓存淘汰机制分为三种
FIFO(First In,First Out)先进先出
优点:是先进先出的数据缓存器,他与普通存储器的区别是没有外部 读写地址线,这样使用起来非常简单。
缺点:只能顺序写入数据,顺序的读出数据,其数据地址由内部读写指针自动加1完成,不能像普通存储器那样可以由地址线决定读取或写入某个指定的地址
LFU(Least Freauently Used)
最不经常使用页置换算法,清理掉留给经常使用的使用
LRU(Least Recently Used)喜新厌旧
内存管理的一种页面置换算法,新加入的数据放到链表的头部,当缓存命中(被访问)数据移到链表的头部,当链表满的时候,将链表尾部的数据丢弃。