在线客服
扫描二维码
下载博学谷APP
扫描二维码
关注博学谷微信公众号
缓存是什么?为什么要使用缓存?缓存是将一些需要读取数据放在磁盘或者内存中,在读取数据的时一般是从关系型数据库中读取数据,缓存时能够最快提高服务响应速度的优化。
一、缓存是什么?
缓存就是将一些需要读取数据放在磁盘或者内存中,由于是追求速度,从而一般放在内存中。在读取数据的时候,一般是从关系型数据库中读取数据,在数据库层面也可以进行各种优化,例如读性能不足,那么可以添加几个从库,从而数据库的一主多从;例如写性能不足,那么可以分库分表。
在有些场景中,要使用缓存,是因为无法解决读的速度,例如count(*)的操作,无论从数据库的层面如何优化,都不可能提高;还有一种就是sql的执行本身就必须消耗很多资源和时间,例如各种关联查询子查询,这些时候,都可以将这些数据放在缓存当中,从而大大的减轻数据库的压力。
二、业务中为什么要使用缓存?
缓存时能够最快提高服务响应速度的优化,没有之一.

如上图的应用程序直接连接数据库进行查询操作,假如有一个操作过来需要500ms,并且每一次查询都需要经过数据库,性能非常低,并且对于数据库并发量支持非常不友好,如果并发量太多导致数据库压力太大可能导致数据库崩溃或者卡死。

如果数据库崩溃,则依赖于数据库的其他应用都会无法运行。
1、高性能
这个是大部分使用缓存的目的,能够最快以非常高的效率提高应用的性能假设遇到一些查询速度很慢,比如权限,查询速度很慢,并且查询出来后很少发生变化,这种情况下大量查询对数据压力很大,并且性能不高。

我们将缓存中的key保存到缓存中,然后在需要查询的时候直接查询缓存,而不走数据库,这样响应数据非常快,并且对于数据库的压力很小,一般缓存的查询都在微秒级,分布式缓存Redis中查询数据也在1ms中可以查询出来,这样在系统架构不进行大的变化的情况下完成了500倍的性能提升。
所以对于一些需要复杂操作耗时查出来的结果,确定后面不怎么变化,但是有很多读请求,直接将查询出来的结果放在缓存中,后面直接读缓存就好。
2、高并发
mysql 数据库对于高并发来说天然支持不好,mysql 单机支撑到 2000QPS 也开始容易报警了。

所以若是系统高峰期一秒钟有1万个请求,那么一个 mysql 单机绝对会死掉,这个时候就只能上缓存,把很多数据放入缓存,别放入 mysql,缓存功能简单,说白了就是 key-value 式操作,单机支撑的并发量一秒可达几万十几万,单机承载并发量是 mysql 单机的几十倍。
3、收益与成本
3.1收益
通过缓存加速读写速度:在内存中读写比硬盘速度快;降低数据库服务器的负载:比如业务端的请求的数据大多数都由Redis服务器来处理,大大减轻MySQL服务器的压力。
3.2 成本
数据不一致问题:比如Redis服务器与数据库服务器之间的某些数据可能会发生不一致问题,这是由两个服务器的数据更新策略不同引起的。
代码维护成本:需要添加数据缓存的逻辑代码;
运维成本:比如需要维护RedisCluster。
— 申请免费试学名额 —
在职想转行提升,担心学不会?根据个人情况规划学习路线,闯关式自适应学习模式保证学习效果
讲师一对一辅导,在线答疑解惑,指导就业!
相关推荐 更多
大数据技术自学能学会吗?大数据应该如何自学?
大数据本质也是数据,但是又有了新的特征,包括数据来源广、数据格式多样化(结构化数据、非结构化数据、Excel文件、文本文件等)、数据量大(最少也是TB级别的、甚至可能是PB级别)、数据增长速度快等。那大数据技术自学能学会吗?大数据应该如何自学呢?
8898
2019-08-14 10:21:23
Kylin开发教程为什么要学习Kylin?
大数据时代为互联网创造了更多的可能与机会。面对更多的就业岗位、更高的就业薪资、更具有创造性的工作内容,很多在职人群选择进一步学习,把握好数据时代为我们带来的重大机遇。然而优质课程资源稀缺,想要学习却找到好的途径成为大家面临的难题。今天博学谷小编就针对Kylin操作系统的技能提升为大家介绍一门《基于Kylin搞定千亿级电信数据分析》课程。
8421
2019-11-07 15:52:50
大数据开发工程师需要了解的热门技术
目前大数据、人工智能、区块链已经成为未来互联网核心的发展趋势。人工智能技术还未成熟,而区块链的落地应用也缺乏市场的支撑,而大数据技术已经逐渐融入到各行各业,对于大数据开发工程师而言,哪些技术是受欢迎的?应该注重哪些方面技术的学习?
8257
2019-12-10 18:47:11
大数据学习的基础知识
大数据学习的基础知识,随着互联网科技的发展,新型技术行业如人工智能等高科技领域人才需求不断扩大。其中大数据行业的发展前景也是相当好。导致很多人跟风报名,结果就是好多人哭喊大数据好难学。但是,大数据真的这么难吗?大数据基础学习内容是什么?大家不妨先了解一下再决定要不要继续学习。
6467
2020-06-12 15:58:59
狂野大数据课程好学吗?难不难?
这门课程对标企业5年真实⼤数据从业⼈员的技能⽔平,因此学习这门课程需要有一定的基础,假设课程内容100%吸收⾜以对标甚⾄秒杀企业中5年⼤数据经验的开发⼈员。学成后知识储备完全胜任⾼级⼤数据开发职称。
6567
2022-09-29 16:42:05
