缓存是捕获应用程序和数据存储位置之间交互的高效且简单的方法。为了有效地实现这一点,您需要了解缓存的各种实现及其对应用程序的影响。在本文中,我们将重点讨论数据缓存的各种使用场景,而不讨论技术实现的细节。
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年轻代的内存大小的比例的影响。
word如何进行全文分栏和某段落分栏 word如何进行全文分栏和某段落分栏的区别
word如何进行全文分栏和某段落分栏 在Word2003中,我们可以对一篇文章进行分栏设置,分两栏,分三栏都可以自己设置.像我们平常看到的报纸.公告.卡片.海报(45)人阅读时间:2024-09-12word2010大纲怎么显示(word2010大纲级别怎么设置)
word2010大纲怎么显示(word2010如何使用大纲视图) 有些时候我们在网上下载的一些word文档太长了,我们其实可以显示大纲,看清楚每一节是否有自己需(33)人阅读时间:2024-09-12七种常见的Word打印设置技巧(七种常见的word打印设置技巧)
七种常见的Word打印设置技巧 七种常见的Word打印设置技巧 1.打印指定页码 有些时候,我们只希望打印文档中的某些页码,只要点击菜单命令"文件→打印",在打(37)人阅读时间:2024-09-12四种方框内打钩符号的简易方法(四种方框内打钩符号的简易方法视频)
四种方框内打钩符号的简易方法 如何在Word方框里打钩? 四种方框内打钩符号的简易方法 如何在Word方框里打钩? 一.在方框里打钩的方法一 利用带圈数字来(33)人阅读时间:2024-09-12word如何进行全文分栏和某段落分栏 word如何进行全文分栏和某段落分栏的区别
word如何进行全文分栏和某段落分栏 在Word2003中,我们可以对一篇文章进行分栏设置,分两栏,分三栏都可以自己设置.像我们平常看到的报纸.公告.卡片.海报..2024-09-12word2010大纲怎么显示(word2010大纲级别怎么设置)
word2010大纲怎么显示(word2010如何使用大纲视图) 有些时候我们在网上下载的一些word文档太长了,我们其实可以显示大纲,看清楚每一节是否有自己需..2024-09-12七种常见的Word打印设置技巧(七种常见的word打印设置技巧)
七种常见的Word打印设置技巧 七种常见的Word打印设置技巧 1.打印指定页码 有些时候,我们只希望打印文档中的某些页码,只要点击菜单命令"文件→打印",在打..2024-09-12四种方框内打钩符号的简易方法(四种方框内打钩符号的简易方法视频)
四种方框内打钩符号的简易方法 如何在Word方框里打钩? 四种方框内打钩符号的简易方法 如何在Word方框里打钩? 一.在方框里打钩的方法一 利用带圈数字来..2024-09-12word怎么调整纸张的尺寸大小? word怎样调纸张大小
word怎么设置文档的水印呢?(word文档中怎么设置水印)
Word文档中表格的单个单元格边框怎么设置
使用Word制作成绩表表格的方法 表格制作excel教程成绩表
怎么批量导出Word文档中所有图片 word批量导出图片并分别储存
Word文档怎么设置自动保存 wpsword文档怎么设置自动保存
word怎么设置自动滚动页面(word怎么设置自动滚动页面)
Word实现Excel表格分栏打印的方法 word表格分页打印
Word2013怎么自定义SmartArt图形形状样式?
怎样去掉Word文档中的手动换行符(怎样去掉word文档中的手动换行符号)