并非所有的情况都适合于使用二级缓存,需要根据具体情况来决定。同时可以针对某一个持久化对象配置其具体的缓存策略。
适合于使用二级缓存的情况:
1、数据不会被第三方修改;
一般情况下,会被hibernate以外修改的数据最好不要配置二级缓存,以免引起不一致的数据。但是如果此数据因为性能的原因需要被缓存,同时又有可能被第3方比如SQL修改,也可以为其配置二级缓存。只是此时需要在sql执行修改后手动调用cache的清除方法。以保证数据的一致性
2、数据大小在可接收范围之内;
如果数据表数据量特别巨大,此时不适合于二级缓存。原因是缓存的数据量过大可能会引起内存资源紧张,反而降低性能。
如果数据表数据量特别巨大,但是经常使用的往往只是较新的那部分数据。此时,也可为其配置二级缓存。但是必须单独配置其持久化类的缓存策略,比如最大缓存数、缓存过期时间等,将这些参数降低至一个合理的范围(太高会引起内存资源紧张,太低了缓存的意义不大)。
3、数据更新频率低;
对于数据更新频率过高的数据,频繁同步缓存中数据的代价可能和 查询缓存中的数据从中获得的好处相当,坏处益处相抵消。此时缓存的意义也不大。
4、非关键数据(不是财务数据等)
财务数据等是非常重要的数据,绝对不允许出现或使用无效的数据,所以此时为了安全起见最好不要使用二级缓存。
因为此时 “正确性”的重要性远远大于 “高性能”的重要性。
分享到:
相关推荐
Java缓存技术是提高应用程序性能的关键工具,尤其是在处理大量数据时。...这个“Java缓存技术的使用实例”提供了一个动手学习的机会,加深了对缓存工作原理的理解,并为实际开发中的缓存使用提供了参考。
本文将深入探讨如何使用Java Map实现缓存技术,以及其中的关键知识点。 首先,让我们理解什么是缓存。缓存是一种存储技术,用于暂时保存经常访问的数据,以便于快速检索。在Java中,我们通常使用HashMap、...
总的来说,Java缓存的应用是提升系统性能的关键策略之一。了解Java内存体系和有效使用缓存框架,能够帮助开发者创建更高效、更稳定的系统,同时避免因内存管理不当导致的问题。正确设置JVM内存参数和使用内存检查...
- **Ehcache**: 是一个广泛使用的开源Java缓存系统,支持内存和磁盘存储,支持缓存的持久化。 - ** caffeine**: 是一个高性能的本地缓存库,设计灵感来源于Guava Cache,但提供了更优化的性能和配置选项。 3. **...
java本地缓存ConcurrentHashMap
- **Ehcache**:是一个广泛使用的开源Java缓存解决方案,支持本地缓存和分布式缓存。它提供了内存和磁盘存储,以及过期策略、缓存预热等功能。 - **Guava Cache**:Google的Guava库提供了一个轻量级的缓存解决方案...
Ehcache是一款广泛使用的Java缓存库,它支持本地内存缓存、分布式缓存以及磁盘持久化。Ehcache提供了一个简单的API,开发者可以通过添加、删除和查询缓存项来管理数据。它还支持过期策略,例如基于时间或者访问频率...
Ehcache是一款广泛使用的开源Java缓存框架,尤其在处理大量数据时,它可以显著提升应用程序的效率。本文将深入探讨Ehcache在实际应用中的实例。 一、Ehcache简介 Ehcache是由Terracotta公司开发的高性能、易用的...
- **Ehcache**:一个广泛使用的开源Java缓存库,支持内存和磁盘存储,提供了线程安全和分布式缓存解决方案。Ehcache 3.x版本引入了更现代的API,支持Java 8特性。 - **Redis**:一种高性能的键值对存储数据库,常...
2. **软引用**:使用Java的`SoftReference`可以创建一个弱化的缓存,这样在内存紧张时,JVM会自动回收这些不再使用的反射对象,以释放内存。 ```java public class ReflectionUtil { private static Map, ...
4. **缓存策略**:SimpleCache 可能支持不同的缓存策略,如 LRU(Least Recently Used)最近最少使用、LFU(Least Frequently Used)最不经常使用等,用于决定何时以及如何替换缓存中的数据。 5. **扩展性**:作为...
Java缓存技术在企业级开发中扮演着至关重要的角色,主要目的是提高系统性能,减少不必要的计算和I/O操作。本文将深入探讨缓存的概念、作用、类型以及在Java环境下的应用。 缓存,简单来说,就是高速缓冲存储器,它...
在高级选项中,还可以配置更多关于Java缓存的设置,比如缓存大小、更新策略等。 总的来说,理解并掌握如何管理Java Applet缓存对于开发者来说至关重要,尤其是在迭代开发和调试过程中,能够及时清除缓存以确保始终...
JAVA缓存技术_深入了解,多个缓存技术介绍
java实现缓存可以通过读取本地文件的方式实现,改代码就是通过读取本地文件实现缓存的简单例子
基于java的开发源码-Java缓存工具 SimpleCache.zip 基于java的开发源码-Java缓存工具 SimpleCache.zip 基于java的开发源码-Java缓存工具 SimpleCache.zip 基于java的开发源码-Java缓存工具 SimpleCache.zip 基于java...
基于java的开发源码-Ehcache Java 缓存框架.zip 基于java的开发源码-Ehcache Java 缓存框架.zip 基于java的开发源码-Ehcache Java 缓存框架.zip 基于java的开发源码-Ehcache Java 缓存框架.zip 基于java的开发源码-...
Java利用ConcurrentHashMap实现本地缓存demo; 基本功能有缓存有效期、缓存最大数、缓存存入记录、清理线程、过期算法删除缓存、LRU算法删除、获取缓存值等功能。 复制到本地项目的时候,记得改包路径哦~