重庆分公司,新征程启航
为企业提供网站建设、域名注册、服务器等服务
一、什么是缓存 Cache
为盐池等地区用户提供了全套网页设计制作服务,及盐池网站建设行业解决方案。主营业务为网站设计制作、做网站、盐池网站设计,以传统方式定制建设网站,并提供域名空间备案等一条龙服务,秉承以专业、用心的态度为用户提供真诚的服务。我们深信只要达到每一位用户的要求,就会得到认可,从而选择与我们长期合作。这样,我们也可以走得更远!Cache 一词最早来自于CPU设计
当CPU要读取一个数据时,首先从CPU缓存中查找,找到就立即读取并送给CPU处理;没有找到,就从速率相对较慢的内存中读取并送给CPU处理,同时把这个数据所在的数据块调入缓存中,可以使得以后对整块数据的读取都从缓存中进行,不必再调用内存。正是这样的读取机制使CPU读取缓存的命中率非常高(大多数CPU可达90%左右),也就是说CPU下一次要读取的数据90%都在CPU缓存中,只有大约10%需要从内存读取。这大大节省了CPU直接读取内存的时间,也使CPU读取数据时基本无需等待。总的来说,CPU读取数据的顺序是先缓存后内存。
再到后来,出先了硬盘缓存,然后到应用缓存,浏览器缓存,Web缓存,等等!
缓存为王!!
Spring Cache
Spring Cache是Spring针对Spring应用,给出的一整套应用缓存解决方案。
Spring Cache本身并不提供缓存实现,而是通过统一的接口和代码规范,配置、注解等使你可以在Spring应用中使用各种Cache,而不用太关心Cache的细节。通过Spring Cache ,你可以方便的使用
各种缓存实现,包括ConcurrentMap,Ehcache 2.x,JCache,Redis等。
Spring中Cache的定义
Sping 中关于缓存的定义,包括在接口 org.springframework.cache.Cache 中,
它主要提供了如下方法
// 根据指定key获取值T get(Object key, Class type) // 将指定的值,根据相应的key,保存到缓存中 void put(Object key, Object value); // 根据键,回收指定的值 void evict(Object key)