缓存是什么意思(缓存比直接看省流量吗)
一、缓存的产生和发展1.1什么是缓存?
缓存,本义是指一种比普通随机存取存储器(RAM)存取速度更快的高速存储器。Cache一词来源于1967年的一篇电子工程期刊论文,用于计算机工程领域。
1.2缓存的发展?
问题:起初PC处理器的CPU中没有缓存,CPU直接访问内存数据,访问数据的速度跟不上CPU的处理速度。
意思是:后来Intel公司给CPU增加了可选缓存的支持。当CPU处理数据时,它会首先在缓存中查找。如果因为之前的操作而将数据临时存储在其中,则没有必要从主存储器中读取数据,从而加快了数据读取的速度。
优化:增加L2缓存(L2缓存),甚至L3缓存,超级缓存等。在CPU内核中。
1.3缓存概念的扩展
现在,我们知道缓存的概念不仅限于CPU和主存之间,还包括硬盘和网络之间,软件和硬件之间,系统应用和数据库之间。
总之,任何位于两种不同数据处理速度的介质之间,用来协调它们之间数据传输速度差异的结构,都可以称为Cache。
1.4应用服务中缓存的开发
随着网络的发展和普及,用户的增加,我们的应用服务器和数据库服务器需要同时处理大量的请求和数据计算。但是我们的应用服务器资源有限,数据库可以同时处理请求,存在瓶颈。如何利用有限的资源承载更高的并发,提高应用的吞吐量?比较有效的方法之一就是引入缓存。即通过缓存,快速访问并返回所需数据,减少了系统交互,提高了计算响应能力。
总之,尽量把数据放在最近、最直接、最快的地方,协调好洪都博客应用获取的数据和返回的存储数据的速度差。
二。缓存的应用2.1缓存的分类
在目前的应用服务框架中,根据应用服务与缓存的耦合程度,常见的有本地缓存和远程缓存两种。
本地缓存
存在于应用程序中的存储介质,可以直接访问数据而无需网络开销。
优点:它的存储位置和应用在同一个上下文或者进程中,没有过多的网络开销,访问速度非常快。
缺点:1)每个应用实例都要维护一组缓存数据,不共享;2)数据一致性,由于更新不及时,缓存中维护的数据可能不正确;3)大数据无法存储,没有持久性的数据会随着应用重启而丢失。
应用场景:1)缓存的数据通常是不经常变化的静态只读数据;2)短时间内改变对业务影响不敏感的数据;
本地缓存的实现:
缓存一般是一种key-value的键值对数据结构,所以需要使用字典数据结构来实现,在 Java 编程中,常用的字典实现包括 HashMap 和 ConcurretHashMap。如果本地缓存需要被不同的服务端线程并发读写,则需要保证线程安全。一般会使用线程安全的ConcurrentHashMap 来作为 Java 编程中的本地缓存实现。除此之外,也有其他更加智能的本地缓存实现,如可以定时失效,访问重新加载等特性,典型实现如 Google 的 guava 工具包的 Cache 实现。分布式缓存
缓存和应用是分离的,缓存本身就是一个应用。比如美团常见的Redis、Memcached、Cellar都属于共享缓存或者共享缓存的实现。
优点:1)数据共享保证了几个红豆博客的一致性,所有节点通过统一的分布式缓存访问数据,保证了不同节点应用进程的数据一致性;2)数据读写分离,高性能高可用;3)支持大数据量存储,不受应用进程重启影响;
缺点:1)数据跨网络传输,性能低于本地缓存。
应用场景:具体场景分析一般适用于数据结构简单、高性能读写、分布式共享的数据存储。
2.2通用框架组件在缓存中的应用2 . 2 . 1 my batis的缓存一级缓存一级缓存:在执行多次查询条件完全相同的SQL时,MyBatis提供了一级缓存的方案优化查询性能,如果是相同的SQL语句,会优先命中一级缓存,避免直接对数据库进行查询,提高性能。一级缓存的共享级别:在MyBatis中共有两个选项,SESSION或者STATEMENT,默认是SESSION级别,即在一个MyBatis会话中执行的所有语句,都会共享这一个缓存。一种是STATEMENT级别,可以理解为缓存只对当前执行的这一个Statement有效。开启配置:
一级缓存一级缓存:在执行多次查询条件完全相同的SQL时,MyBatis提供了一级缓存的方案优化查询性能,如果是相同的SQL语句,会优先命中一级缓存,避免直接对数据库进行查询,提高性能。一级缓存的共享级别:在MyBatis中共有两个选项,SESSION或者STATEMENT,默认是SESSION级别,即在一个MyBatis会话中执行的所有语句,都会共享这一个缓存。一种是STATEMENT级别,可以理解为缓存只对当前执行的这一个Statement有效。开启配置:
- 1bat的大数据(BAT的大数据来源)
- 2三星s8屏幕上端2(三星s8屏幕上端2个按键)
- 3三星屏幕坏了如何导出(三星屏幕摔坏了如何导出数据么)
- 4红米3x怎么关闭自动更新(红米k40s怎么关闭自动更新)
- 5微信上防止app自动下载软件怎么办(微信上防止app自动下载软件怎么办啊)
- 6押镖多少钱(押镖一个月有多少储备金)
- 7瑞星个人防火墙胡功能(瑞星个人防火墙协议类型有哪些)
- 8cf现在等级是多少(cf等级2020最新)
- 9老滑头多少条鱼(钓鱼老滑头有什么用)
- 10WPS自动调整语法(wps如何修改语法)
- 11dell控制面板防火墙(dell的防火墙怎么关闭)
- 12丑女技能升多少(丑女技能需要满级吗)
- 13智能家居系统怎么样(智能家居系统好吗)
- 14戴尔屏幕(戴尔屏幕闪烁)
- 15y85屏幕信息(vivoy85息屏显示时间怎么设置)
- 16魅蓝note3屏幕出现方格(魅蓝note屏幕竖条纹)
- 17v8手指按屏幕(触屏手指)
- 18金为液晶广告机(液晶广告机lb420)
- 19三星显示器怎么校色(三星显示器 调色)
- 20hkc显示器dvi音频(hkc显示器有音响么)
- 21康佳液晶智能电视机(康佳液晶智能电视机怎么样)
- 22做液晶画板电脑(做液晶画板电脑怎么操作)
- 23液晶屏极化现象原理(液晶屏极化现象原理是什么)
- 24企业网络安全防火墙(企业网络防护)
- 256splus黑屏屏幕不亮(苹果6s plus屏幕突然黑屏)
- 26充电导致屏幕失灵(充电导致屏幕失灵怎么办)
- 27超极本屏幕旋转(笔记本电脑屏幕旋转,怎么转过来?)
- 28igmp防火墙(防火墙配置ipv6)
- 29荣耀王者多少经验(王者荣耀经验多少一级)
- 30lol老将还剩多少(qg老将)