缓存|学习笔记

简介: 快速学习缓存

开发者学堂课程【Java 面试疑难点串讲 4:Java Web 开发缓存】学习笔记,与课程紧密联系,让用户快速学习知识。

课程地址https://developer.aliyun.com/learning/course/27/detail/596


缓存


内容介绍:


1) 为什么需要有缓存?

2) 进行缓存操作时需考虑的三个方面

 

为什么需要有缓存?

在项目的开发过程之中,所使用的都是高级语言,进行数据操作时的流程:程序→CPU (处理速度很快)→内存(高性能的读写)→磁盘(如果是普通的机械硬盘,SSD 不做考虑)

所有的性能将浪费在磁盘上,电脑速度会越来越慢,因为所保存的资料一定会被零散的存放在磁盘上,因此在进行寻址的时候就会浪费大量的时间,所以在一些频繁访问的数据上就需要考虑利用缓存来减少磁盘的读写操作,这样就把一些数据直接放在内存中,减少了磁盘操作,也就提升了性能

例如:以一个新闻系统为例,在新闻系统里包含一些热门话题,会有很多人使用,因此就会造成数据库的频繁读取,读取的速度很慢,所以可以将这些数据保存在缓存里面,以避免数据库的读取操作,从而提升效率。

 

进行缓存操作时需考虑的三个方面

1. 该缓存的数据是否只是需要在页面上进行处理,例如:登录 sina.com ,头部信息会快速显示,而其他信息慢速显示,此时页面缓存可以通过 OSCache 组件实现(但现在基本不考虑);

2. 数据缓存,主要发生在数据层,当取得某些数据之后将这些数据暂时保存在缓存中,从而操作性能,这样的缓存组件常见的是 EHCache(Hibernate、MyBatis、Shiro);

3. 数据库的分布式缓存:Memcached( 不支持数据的持久化)、Redis( 支持持久化)如果要进行集群的设计以及分布式存储基本上都会使用 Redis,如果是单击进行缓存操作往往使用 EHcahce 组件完成。

相关文章
|
2月前
|
缓存 NoSQL 关系型数据库
数据库缓存一致性学习笔记(一)
数据库缓存一致性学习笔记(一)
|
8月前
|
缓存 前端开发
前端学习笔记202306学习笔记第四十七天-vue-强制缓存3
前端学习笔记202306学习笔记第四十七天-vue-强制缓存3
48 0
|
4月前
|
存储 缓存 前端开发
《Webpack5 核心原理与应用实践》学习笔记-> webpack5持久化缓存
《Webpack5 核心原理与应用实践》学习笔记-> webpack5持久化缓存
67 1
|
6月前
|
缓存 NoSQL 算法
Redis学习笔记-缓存容量和淘汰机制核心思想
Redis学习笔记-缓存容量和淘汰机制核心思想
108 0
|
6月前
|
消息中间件 缓存 NoSQL
Redis学习笔记-如何解决缓存和数据库的数据不一致
Redis学习笔记-如何解决缓存和数据库的数据不一致
78 0
|
6月前
|
缓存 NoSQL 数据库
Redis学习笔记-如何应对缓存雪崩、击穿、穿透
Redis学习笔记-如何应对缓存雪崩、击穿、穿透
38 0
|
8月前
|
缓存 前端开发
前端学习笔记202306学习笔记第四十七天-vue-强制缓存2
前端学习笔记202306学习笔记第四十七天-vue-强制缓存2
51 0
|
8月前
|
缓存 前端开发
前端学习笔记202306学习笔记第四十七天-协商缓存1
前端学习笔记202306学习笔记第四十七天-协商缓存1
24 0
|
8月前
|
缓存 前端开发
前端学习笔记202306学习笔记第四十七天-协商缓存3
前端学习笔记202306学习笔记第四十七天-协商缓存3
28 0
|
8月前
|
消息中间件 存储 缓存
计算机操作系统学习笔记(3)——CPU缓存一致性
计算机操作系统学习笔记(3)——CPU缓存一致性
155 0

热门文章

最新文章