`

spring对象缓存

    博客分类:
  • JAVA
阅读更多

         用过spring的人都知道 spring的注入方式很方便,它自己维护着一个容器来管理你需要的bean,但是背后真正的原因是什么呢。

         以前我们都是在用到的时候来直接new 或者工厂类间接create一个,有了spring 我们就有了一个统一的管理入口,对于管理层面来说他真的很明智。再看看spring的对象缓存,当然大家异口同声的说 我用的时候就不用来个新的了,直接使用了,出于性能和管理都是很方便而且重要的,而且数据得到了一致性保证。其实这个缓存的最大目的是对于性能考虑(当然都觉得是废话了),不要以为new一个对象的开销很小,的确你只new一个轻量级对象当然很小了,但是你多次使用重量级对象,而且这个对象的继承度很深,比如至少2个继承的层次,抑或聚合的对象很多,比如一个类里聚合了至少几个其他大类, 当系统真正运行起来,频繁的new这些重量级的对象时你的系统的性能一定要下降。我这里并不想讨论什么new对象的开销问题,我只想说spring的性能大部分得益于他的缓存设计,当你使用spring的时候有考虑过他的性能吗。所以我想说每每用他的时候在思考下他的设计我都能学到很多设计理念,当然我还是很菜很菜的菜鸟。

         写到这里我想起了公司里硕大的一个baseEntity,很多的属性在里面,然后这个baseEntity被继承了好几次都是为了满足某次小小的需求然后整合老系统。在通用性和小巧性之间我总是很矛盾,小巧性必然会打破所谓的重用,有的时候过度的重用真的很累赘,做个1+1的问题也要搬个银河上来。我并不反对重用,只是在小巧明晰上我喜欢简单,当然重用和简单并不直接冲突,只是在实现上会有所隔阂。这里把baseEntity拉进来的目的其实想说的是与之有关的性能问题,为了业务明确传递一个bean进去然后这个bean很繁重,但是我们只用他的一小部分,查询一个对象时我们总是返回一个硕大的bean回去,然后大部分字段都是null,哎,算了,看各人爱好吧。其实重用真的还很难把握。

分享到:
评论

相关推荐

    Ehcache 整合Spring 使用页面、对象缓存

    ### Ehcache 整合Spring 使用页面、对象缓存 #### 一、Ehcache简介与特点 Ehcache是一款开源的、高性能的Java缓存框架,它可以用来存储、检索短期数据,以减轻数据库的压力,提高应用程序性能。Ehcache不仅支持...

    09. Spring Boot缓存技术

    当我们谈论"Spring Boot缓存技术"时,实际上是在讨论如何在Spring Boot应用中有效地管理和利用缓存,以提高系统的性能和响应速度。缓存技术是解决高并发场景下数据访问延迟的有效手段,它通过将常用数据存储在内存中...

    spring-cache(通过key值更新缓存)

    在Spring框架中,缓存是提高应用程序性能的重要手段。Spring Cache是一个抽象层,它允许开发者在不关注具体缓存实现的情况下,轻松地在应用程序中添加缓存功能。本篇文章将详细探讨如何通过key值更新Spring Cache中...

    springboot 使用spring cache缓存 和 使用fastjson配置redis系列化

    在Spring Boot应用中,Spring Cache是一个强大的工具,用于在应用程序中实现缓存抽象,它可以减少对数据库或远程服务的重复调用,从而提高性能。在本篇文档中,我们将探讨如何使用Spring Cache来缓存数据,并结合...

    Spring+EhCache缓存实例

    **Spring+EhCache缓存实例详解** 在现代的Java企业级应用中,缓存技术扮演着至关重要的角色,它能够显著提升系统性能,减少数据库负载。Spring框架与EhCache的结合,为开发者提供了一种高效、易用的缓存解决方案。...

    Ehcache整合Spring使用页面、对象缓存

    下面将详细介绍Ehcache与Spring的整合及其在页面和对象缓存中的应用。 一、Ehcache简介 Ehcache是基于内存的分布式缓存系统,支持本地缓存、分布式缓存和 terracotta 集群化缓存。它提供了一个简单易用的API,可以...

    spring缓存机制-根据condition加入缓存(三)

    在Spring框架中,缓存机制是一项重要的功能,它能够提高应用程序的性能,减少对数据库的访问,从而降低系统负载。本篇文章将详细讲解如何利用`condition`属性来控制哪些数据可以被缓存,以实现更加精细化的缓存策略...

    Spring缓存配置

    EhCache是Java的一个开源、高性能、可伸缩的分布式缓存系统,常用于缓存对象以提高性能。EhCache支持本地缓存和分布式缓存,且与Spring框架有良好的集成。 **2. 引入依赖** 首先,我们需要在项目中引入EhCache的...

    springboot 使用spring cache缓存 和 缓存数据落地到redis

    【Spring Boot 使用 Spring Cache 缓存与数据落地到 Redis】\n\n在Spring Boot应用中,Spring Cache是一个强大的工具,可以极大地提升应用的性能,通过缓存非计算性或者昂贵的计算结果。Spring Cache抽象了缓存管理...

    spring缓存机制-自定义缓存(五, 六)

    Spring 缓存机制是Spring框架中的一个重要特性,它允许开发者在应用程序中轻松地实现缓存功能,从而提高性能,减少数据库的访问压力。在“spring缓存机制-自定义缓存(五, 六)”中,我们将深入探讨如何扩展Spring的...

    浅析SpringCache缓存1

    在运行时,Spring 会创建一个代理对象来拦截带有缓存注解的方法调用,从而执行缓存逻辑。 9. **多级缓存**:Spring Cache 还支持多级缓存,可以结合本地缓存和分布式缓存,提高系统的可伸缩性和性能。 10. **缓存...

    Hibernate缓存与spring事务详解

    例如,通过Spring事务确保在一个事务内对多个对象的操作要么全部成功,要么全部失败,同时Hibernate的缓存减少对数据库的直接访问,提高系统性能。然而,合理配置缓存和事务策略以平衡性能和数据一致性是开发中的...

    Spring集成的Hibernate配置二级缓存

    Spring作为一个全面的轻量级容器,负责管理对象的生命周期和依赖关系;而Hibernate作为持久化层的解决方案,简化了数据库操作。当涉及到高性能、大数据量的应用时,合理利用缓存机制可以显著提升系统性能。本文将...

    Spring AOP+ehCache简单缓存系统解决方案

    拦截器确保了缓存的自动管理和维护,而ehCache的使用则提供了高性能的对象缓存能力。当数据库操作发生时,缓存能及时更新,从而降低了数据库的负载,提高了系统的整体性能。这个方案不仅适用于简单的缓存场景,也...

    使用spring aop对web 应用数据进行memcached缓存

    标题 "使用Spring AOP对Web应用数据进行Memcached缓存" 涉及到的关键技术是Spring AOP(面向切面编程)和Memcached,这是一种常见的高性能、分布式内存对象缓存系统。在Web应用程序中,使用缓存可以显著提高数据访问...

    spring小结之配置二级缓存!

    在Spring框架中,二级缓存是一个重要的性能优化手段,它能显著提高数据访问的效率,尤其是在大型企业级应用中。本文将围绕“Spring小结之配置二级缓存”这一主题,详细阐述二级缓存的概念、作用以及如何在Spring中...

    spring-boot-starter-data-jpa 的二级缓存

    当我们要在Spring Boot项目中开启二级缓存时,一个常见的做法是整合Ehcache,利用它来实现JPA实体的二级缓存。二级缓存是基于会话工厂级别的缓存,用于缓存那些跨多个会话共享的数据。在Hibernate中,二级缓存默认是...

    35.[视频] Spring Boot集成Redis实现缓存机制【从零开始学Spring Boot】

    在本节中,我们将深入探讨如何使用Spring Boot集成Redis来实现高效的缓存机制。Spring Boot是Java开发领域中一个流行的微服务框架,它简化了设置和配置过程,使得开发人员可以快速启动项目。Redis则是一种高性能的...

Global site tag (gtag.js) - Google Analytics