缓存|学习笔记

简介: 快速学习缓存

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

课程地址:https://developer.aliyun.com/learning/course/25


缓存

1、缓存问题

对于整个电脑而言,它有一个自己的固定状态,如果要读取数据。

流程:将硬盘上的内容直接加载到内存里面,然后再通过内存进行读取。因为硬盘上所保存的都是物理上的二进制数据。

如果你的电脑只是你一个人在使用,那么没有任何的问题。这个时候,你会发现当人一多的时候,你的电脑就会变得跟蜗牛跑步一样。非常的慢。

如果只是你一个人在使用,那么慢一点感觉不到,可是如果换到了公网上,一堆的用户要进行数据读取的时候,现在的事情就出现了,所有的操作如果通过数据库查询得到(物理磁盘上),那么速度就会非常的慢,假如说一个查询需要60ms的时间,这个时间在人一多会呈指数倍增长。

所以有些人就开始想如何可以减少这种操作所带来的延迟时间的增长呢?

于是有人提出:我们不使用普通的硬盘全部换固态硬盘(速度可以提升,但是价格也提升)。固态硬盘不禁用。

如果我不是土豪,无法缩短内存与磁盘间的读取的延迟,那么这个时候怎么办?

那么唯一的解决方案是不读取硬盘上的内容。速度就会非常的快了。可是这种做法就有三种实现模式:CMS)直接使用内存作为缓存,也就是说将所读取出来的数据保存在内存里面(数据的失效问题)、使用缓存数据库(RediesMemcachedNoSQL数据库)。

而对于内存缓存而言,有两种常用的组件:oscache(是在页面上使用,例如:需要在某一个JSP页面之中缓存一个对象的时候使用)、ehcache(是在一些开发框架之中出现,例如:HibernateMybatisShiro)。

:缓存的本质=减少物理磁盘的读取时间(延迟取消了),直接读内存,还需要进行一些合理的内存管理。

相关文章
|
7月前
|
缓存 NoSQL 关系型数据库
数据库缓存一致性学习笔记(一)
数据库缓存一致性学习笔记(一)
|
缓存 前端开发
前端学习笔记202306学习笔记第四十七天-vue-强制缓存3
前端学习笔记202306学习笔记第四十七天-vue-强制缓存3
70 0
|
7月前
|
存储 缓存 前端开发
《Webpack5 核心原理与应用实践》学习笔记-> webpack5持久化缓存
《Webpack5 核心原理与应用实践》学习笔记-> webpack5持久化缓存
268 1
|
缓存 NoSQL 算法
Redis学习笔记-缓存容量和淘汰机制核心思想
Redis学习笔记-缓存容量和淘汰机制核心思想
143 0
|
消息中间件 缓存 NoSQL
Redis学习笔记-如何解决缓存和数据库的数据不一致
Redis学习笔记-如何解决缓存和数据库的数据不一致
197 0
|
缓存 NoSQL 数据库
Redis学习笔记-如何应对缓存雪崩、击穿、穿透
Redis学习笔记-如何应对缓存雪崩、击穿、穿透
63 0
|
缓存 前端开发
前端学习笔记202307学习笔记第五十九天-react源码-双缓存技术
前端学习笔记202307学习笔记第五十九天-react源码-双缓存技术
72 0
前端学习笔记202307学习笔记第五十九天-react源码-双缓存技术
|
缓存 前端开发
前端学习笔记202306学习笔记第四十七天-vue-强制缓存2
前端学习笔记202306学习笔记第四十七天-vue-强制缓存2
83 0
|
缓存 前端开发
前端学习笔记202306学习笔记第四十七天-协商缓存1
前端学习笔记202306学习笔记第四十七天-协商缓存1
39 0
|
缓存 前端开发
前端学习笔记202306学习笔记第四十七天-协商缓存3
前端学习笔记202306学习笔记第四十七天-协商缓存3
44 0