一.缓存的产生与发展
1.1 什么是缓存?
缓存(cache),原始意义是指访问速度比一般随机存取存储器(RAM)快的一种高速存储器。Cache一词来源于1967年的一篇电子工程期刊论文,用于电脑工程领域。
1.2 缓存的发展?
问题:最开始的PC机处理器CPU没有Cache,CPU直接访问内存数据,访问数据的速度匹配不上CPU的处理速度。
手段:后来英特尔公司对CPU增加了对可选的Cache的支持,当CPU处理数据时,它会先到Cache中去寻找,如果数据因之前的操作已经读取而被暂存其中,就不需要再从随机存取存储器(Main memory)中读取数据,从而加快读取数据速度。
优化:在CPU内核增加L2 Cache(二级缓存),甚至三级缓存,超高速缓存等。
1.3 缓存概念的扩充
如今我们知道缓存的概念不仅仅限于在CPU和主内存之间,在硬盘与 *** 之间、在软件与硬件之间、在系统应用与数据库之间等也有某种意义上的Cache。
总之,凡是位于处理数据速度相差较大的两种介质之间,用于协调两者数据传输速度差异的结构,均可称之为Cache。
1.4 缓存在应用服务中的发展
随着 *** 发展及普及,用户量级增长,我们的应用服务器及数据库服务器同时需要处理大量的请求及数据计算,而我们的应用服务器资源有限、数据库同时可处理请求能力也有瓶颈,如何利用有限的资源承载更高的并发提高应用的吞吐能力呢?其中一个较为有效的方式就是引入缓存。即通过缓存快速访问需要数据并返回,减少系统交互,提高计算响应能力。
总之,尽可能将数据放在最近最直接最快速获取的地方,协调应用获取数据与存储数据返回之间速度的差异。
二.缓存的应用
2.1 缓存的分类
在目前的应用服务框架中,根据应用服务于缓存之间的耦合程度,比较常见的分为local cache(本地缓存)和remote cache(分布式缓存/共享缓存)。
本地缓存
存在于应用中的,能够直接访问获取数据,无 *** 开销的存储介质。
优点:其存储位置与应用在同一上下文环境中或者在同一进程中,无需过多 *** 开销,访问速度非常快。
缺点:1)每个应用实例都要维护一套缓存数据,数据不共享;2)数据一致性问题,由于更新不及时,缓存中维护的数据可能不正确;3)无法进行大数据存储,数据无持久化随着应用重启而丢失。
应用场景:1)缓存的数据一般为静态不常变更的只读数据;2)短时间变更对业务影响不敏感的数据;
本地缓存的实现:
缓存一般是一种key-value的键值对数据结构,所以需要使用字典数据结构来实现,在 J百思特网ava 编程中,常用的字典实现包括 HashMap 和 ConcurretHashMap。
如果本地缓存需要被不同的服务端线程并发读写,则需要保证线程安全。一般会使用线程安全的ConcurrentHashMap 来作为 Java 编程中的本地缓存实现。
除此之外,也有其他更加智能的本地缓存实现,如可以定时失效,访问重新加载等特性,典型实现如 Google 的 guava 工具包的 Cache 实现。
分布式共享缓存
缓存与应用分离,缓存本身即为一种应用,如常见的Redis、Memcached、美团的Cellar都属于共享缓存或者共享缓存的实现。
优点:1)数据共享,保证数据一致性,各节点通过统一的分布式缓存进行数据存取操作,保证了不同节点的应用进程的数据一致性问题;2)数据读写分离,高性能,高可用;3)支持大数据量存储,不受应用进程重启影响;
缺点:1)数据跨 *** 传输,性能低于本地缓存
应用场景:具体场景具体分析,一般适合数据结构简单、需要高性能读写且具备分布式共享的数据存储。
2.2 常见框架组件对缓存的应用
2.2.1 MyBatis的缓存
一级缓存
一级缓存:在执行多次查询条件完全相同的SQL时,MyB百思特网atis提供了一级缓存的方案优化查询性能,如果是相同的SQL语句,会优百思特网先命中一级缓存,避免直接对数据库进行查询,提高性能。
一级缓存的共享级别:在MyBatis *** 有两个选项,SESSION或者STATEMENT,默认是SESSION级别,即在一个MyBatis会话中执行的所有语句,都会共享这一个缓存。一种是STATEMENT级别,可以理解为缓存只对当前执行的这一个
-
呼和浩特特产有哪些 呼和浩特特产批发市场在哪里呼和浩特特产有奶酪、清水河小香米、马奶酒、托县茴香、蒙古风干牛肉、清水河海红果、武川荞麦、哈素海鲤鱼、武川土豆、武川...
-
世界级包包排行榜 世界级包包的品牌有哪些世界级奢侈品包包十大品牌排行榜,看看你的包包在列吗?不管经济上允许不允许,顶级牌子包包还是要了解一下的下面就给大家介绍...
-
宅在诸天世界小说作者是谁 宅在诸天世界小说是什么类型导读大家好,创载来为大家解答以上问题。宅在诸天世界小说作者是谁,宅在诸天世界小说简介这个很多人还不知道,现在让我们一...
-
中国十大温泉排名 中国温泉城是哪个城市的别称中国十大温泉排名 全国五大高温温泉?中国十大温泉排名中国十大真正的温泉?全国五大高温温泉?之一:小汤山温泉(位于北京小汤...
-
考研一般考场在本校吗 考研究生的要求和条件考研地点是怎么安排的 考研一般考场在本校吗?考研地点是怎么安排的如何安排研究生考试地点?考研一般考场在本校吗?基本上都...
-
呼和浩特特产有哪些 呼和浩特特产批发市场在哪里
2022-11-24 11:26:25
-
世界级包包排行榜 世界级包包的品牌有哪些
2022-11-24 11:25:40
-
宅在诸天世界小说作者是谁 宅在诸天世界小说是什么类型
2022-11-24 11:24:34
-
中国十大温泉排名 中国温泉城是哪个城市的别称
2022-11-24 11:23:35
-
考研一般考场在本校吗 考研究生的要求和条件
2022-11-24 11:22:34
-
缓存是什么意思 缓存是内存还是外存
2022-11-24 11:29:10
-
2g独显什么意思 2g独显能玩什么游戏
2022-11-24 11:28:11
-
中国烟草官网价格查询 中国烟草是国企还是央企
2022-11-24 11:27:20
-
呼和浩特特产有哪些 呼和浩特特产批发市场在哪里
2022-11-24 11:26:25
-
世界级包包排行榜 世界级包包的品牌有哪些
2022-11-24 11:25:40
-
宅在诸天世界小说作者是谁 宅在诸天世界小说是什么类型
2022-11-24 11:24:34
-
中国十大温泉排名 中国温泉城是哪个城市的别称
2022-11-24 11:23:35
-
考研一般考场在本校吗 考研究生的要求和条件
2022-11-24 11:22:34
-
湖北省阳新县是哪个市的 湖北省阳新县有多少人口
2022-11-24 11:21:25
-
养生壶品牌排行榜 养生壶可以熬中药吗
2022-11-24 11:20:36
-
纸黄金是什么 纸黄金的特点是什么
2022-11-24 11:19:33
-
歧视是什么意思 歧视是瞧不起的意思吗
2022-11-24 11:18:30
-
古代十大美女是谁排名 中国十大古代美女排行榜
2022-11-24 11:17:34
-
经常烫头发有哪些危害 经常烫头发会致癌吗
2022-11-24 11:07:20
-
女娲和伏羲是什么关系 女娲和伏羲手里拿的是什么
2022-11-24 11:05:47
-
么是点差?点差和手续费哪个合算
2022-11-24 11:04:39
-
多芬的香皂好吗 多芬的香皂是酸性吗
2022-11-24 11:03:44
-
广州南站属于哪个区 广州南站是高铁站还是火车站
2022-11-24 11:02:54
-
针刺棉和热风棉的区别 针刺棉和热风棉怎么区分
2022-11-24 11:01:50
-
香江动物园里有什么游玩设施 香江动物园门票多少钱一张
2022-11-24 11:00:41
-
南京工程学院怎么样 南京工程学院是一本还是二本
2022-11-24 10:47:31
-
煤气灶品牌前十名 煤气灶哪个品牌的质量比较好
2022-11-24 10:46:34
-
汽车的amt是什么意思 汽车AM图案是什么意思
2022-11-24 10:45:20
-
康熙皇帝死后剩下的儿子都怎么样 康熙的儿子都叫什么名字
2022-11-24 10:43:49
-
乐器中哪个更好学最易学 乐器种类名称图片大全
2022-11-24 10:41:02
-
跳空高开什么意思 跳空高开缺口几天不补是牛股
2022-11-24 10:39:43
-
考研的分数线是怎么划定的 考研分数线在哪里查询
2022-11-24 10:38:48
-
only什么意思怎么读 only怎么读音英语怎么读
2022-11-24 10:37:45
-
梅西现在在哪个球队 梅西是哪国人
2022-11-24 10:36:42
-
什么是数字音乐?数字音乐平台有哪些?
2022-11-24 10:35:46