网站首页
手机版

Java开发中存在两种类型缓存的优点和缺点!

更新时间:2022-04-17 13:55:53作者:佚名

Java开发中存在两种类型缓存的优点和缺点!

  缓存是捕获应用程序和数据存储位置之间交互的高效且简单的方法。为了有效地实现这一点,您需要了解缓存的各种实现及其对应用程序的影响。在本文中,我们将重点讨论数据缓存的各种使用场景,而不讨论技术实现的细节。

  

  Java开发中存在两种类型的缓存:本地缓存和群集缓存。

  

  本地缓存

  

  优点:

  

  数据直接来自Java虚拟机(JVM)、访问速度非常快、使用非常低的门槛、诸如ehcache,oscache和abd番石榴高速缓存等完善的插件在市场上很容易获得。(ehcache和oscache已经提供了群集缓存。)

  

  缺点:

  

  服务器集群中的不同机器之间可能会出现不一致和不一致的问题。当本地缓存过大时,很容易触发服务器的垃圾收集(GC)

  

  集群缓存

  

  优点:

  

  数据一致性得到保证,容量扩展方便,透明,对用户不可感知。它使用了更多成熟的中间件工具,如Tair,Redis和Memcached。

  

  缺点:

  

  您需要选择成熟的,遵从业务的集群缓存中间件和集群框架来建立和维护一组缓存集群服务器使用门槛高,可能会出现缓存热点问题,如Tair热点问题。

  

  缓存使用方法

  

  缓存使用情况因不同的数据大小和方案而异。存在三种使用方法,如下所示:

  

  被动缓存处理:在这种方法中,如果查询到达记录,结果将立即返回。如果查询未找到记录,则查询底层缓存的结果集并将结果返回给用户完整数据高速缓存预热或关键数据高速缓存预热:在此方法中,结果已经可用,并且针对数据源运行查询。结果从缓存中检索,不需要重新计算Sentinel缓存的实现: Sentinel缓存使用多个集成层来检索数据被动缓存处理是最简单的实现,适用于数据量较小的场景。完整的数据缓存加热需要良好的设计,适合中等数据大小的热点访问方案。哨兵缓存集成了各种层次,但全面的应用涉及复杂的技术。

  

  本地缓存瓶颈

  

  使用本地缓存或群集缓存的决定不会限制缓存使用方法。虽然扩展是可用的,但本文不关注集群高速缓存实现,而是关于本地高速缓存使用情况的瓶颈。在大多数情况下,JVM的本地缓存是指堆内存。

  

  阿里云的标准应用服务器的典型配置由8GB内存的独立虚拟4核CPU组成。这个配置在两部分之间分配8GB:JVM和服务器的每日开销。JVM内存由以下部分组成:

  

  年轻一代2GB,老一代2GB,堆内存最大1GB

  

  几百兆字节的持久代PermSize

  

  年轻一代的记忆力按照10:1:1的比例细分为Eden,so1和so2,每个记忆大约有170MB。

  

  你可能会想,这样一个分部有什么意义呢?如果我们向年轻一代分配3GB,会发生什么?如果我们调整年轻一代的分配大小,或者改变细分比例,会发生什么?

  

  Java开发和C开发之间最大的区别之一是Java开发人员避免使用由JVM的垃圾收集机制动态管理的内存应用程序和发行版。当JVM堆内存使用率达到一定比例时,将触发“世界停止”(STW)GC。JVM的GC对于应用程序是不可感知的。当用户请求数据并且查询到达缓存中的记录,但GC在JVM中激活时,整个应用程序将冻结,应用程序保存用户的请求,直到GC完成。GC不能超过请求的最大超时值。

  

  这是JVM堆对本地缓存使用的第一个影响。有人建议我们可以通过增加JVM堆大小来扩展GC周期。但是,我们也必须考虑在本地内存中分配给JVM年轻代的内存大小的比例的影响。


本文标签: 标签  简介  软件  java  

为您推荐

excel表格怎么大批量筛选(excel表格怎么大批量筛选重复项并快速删除)

1、在选中单元格后,点击排序和筛选。2、在展开的界面中,点击筛选。3、在单元格界面中,点击全部显示。4、在展开的界面中,点击确定即可。

2023-03-21 15:30

Word2007文档水印怎么去除(word2007文档如何去除水印)

Word2007文档水印怎么去除 Word2007文档水印怎么去除 方法一 页面布局-页面背景-水印-删除水印,文档中的水印被删除. 方法二 页面布局-页面背景

2023-03-15 00:31

Word2003文档中的回车符怎么隐藏(怎样隐藏word里的回车符)

Word2003文档中的回车符怎么隐藏 Word2003文档中的回车符怎么隐藏 隐藏回车符 1.单击菜单栏"工具"下的"选项",在打开的窗口中取消勾选"视图"选

2023-03-15 00:30

Word2007自动滚动怎么设置(如何设置word自动滚动)

Word2007自动滚动怎么设置   Word2007自动滚动怎么设置 1.首先打开一篇长篇文档,单击其左上角的"office按钮"在弹出的快捷菜单中选择"Wo

2023-03-15 00:29

Word2013文档中大纲视图如何使用(word2007大纲视图)

Word2013文档中大纲视图如何使用 在Word 2013中,用户可以使用大纲视图来查看并编辑文档的大纲结构,同时可以对正文进行处理.在大纲视图模式下,文档的

2023-03-15 00:29

Word怎么用快捷键快速修改文字格式 word快捷键修改

Word怎么用快捷键快速修改文字格式   Word怎么用快捷键快速修改文字格式 1.电脑上新建word文件,例如命名为"word技巧" 2.双击"word技巧"

2023-03-15 00:27