`
kakaluyi
  • 浏览: 444232 次
  • 性别: Icon_minigender_1
  • 来自: 苏州
社区版块
存档分类
最新评论

如何通过2级缓存解决性能问题(ehcache)

阅读更多

实际使用中,发现pharos底层的table_info表和users表的读操作过于频繁,因此为它们增加二级缓存,以提高性能
0.首先修改hibernate.properties文件,
增加
hibernate.cache.provider_class=net.sf.hibernate.cache.EhCacheProvider
hibernate.cache.use_query_cache=true

1.修改endbran/src/java/ehcache.xml,增加如下内容:
    <cache name="com.vtradex.endbrain.model.TableInfo"
        maxElementsInMemory="1000"
        eternal="true"
        timeToIdleSeconds="86400"
        timeToLiveSeconds="86400"
        overflowToDisk="true"
        />
    <cache name="com.vtradex.endbrain.model.TableInfo.excludedColumns"
        maxElementsInMemory="1000"
        eternal="true"
        timeToIdleSeconds="86400"
        timeToLiveSeconds="86400"
        overflowToDisk="true"
        />

    <cache name="com.vtradex.bedrock.model.security.User"
        maxElementsInMemory="1000"
        eternal="true"
        timeToIdleSeconds="86400"
        timeToLiveSeconds="86400"
        overflowToDisk="true"
        />
    <cache name="com.vtradex.bedrock.model.security.User.roles"
        maxElementsInMemory="1000"
        eternal="true"
        timeToIdleSeconds="86400"
        timeToLiveSeconds="86400"
        overflowToDisk="true"
        />
    <cache name="com.vtradex.bedrock.model.security.User.groups"
        maxElementsInMemory="1000"
        eternal="true"
        timeToIdleSeconds="86400"
        timeToLiveSeconds="86400"
        overflowToDisk="true"
        />
    <cache name="com.vtradex.bedrock.model.security.User.authorizations"
        maxElementsInMemory="1000"
        eternal="true"
        timeToIdleSeconds="86400"
        timeToLiveSeconds="86400"
        overflowToDisk="true"
        />

2.修改com/vtradex/endbrain/dao/hibernate/tableInfo.hbm.xml
2.1在class定义下加入
<cache usage="nonstrict-read-write"/>
2.2在<set name="excludedColumns" table="TABLE_COLUMN">
下加入
         <cache usage="read-write"/>
3.修改com.vtradex.endbrain.dao.hibernate.HibernateTableInfoDao
在getTableInfoByIdentity方法和getTableInfosByPage方法中
增加
setCacheable(true)
setCacheRegion("com.vtradex.endbrain.model.TableInfo")

4.修改com/vradex/bedrock/dao/security/hibernate/user.hbm.xml
4.1在class定义下加入
<cache usage="nonstrict-read-write"/>
4.2在        <set name="roles" table="USER_ROLE" lazy="true" cascade="save-update">
        <set name="groups" table="GROUP_USER" lazy="true" inverse="true">
        <set name="authorizations" table="USER_AUTHORIZATION" lazy="true" inverse="true" cascade="all-delete-orphan">
下分别加入
         <cache usage="read-write"/>
5.修改com.vtradex.bedrock.dao.security.hibernate.HibernateUserDao
在getUserByLoginName方法中
增加
setCacheable(true)
setCacheRegion("com.vtradex.bedrock.model.security.User")

分享到:
评论

相关推荐

    spring + ehcache + redis两级缓存

    当我们谈论“Spring + Ehcache + Redis”两级缓存时,我们实际上是在讨论如何在Java环境中利用Spring框架来集成Ehcache作为本地缓存,并利用Redis作为分布式二级缓存,构建一个高效且可扩展的缓存解决方案。...

    Java缓存框架 EhCache

    作为进程内缓存解决方案,EhCache能够在应用程序运行时存储数据,显著提高数据访问速度,减轻数据库负载,从而提升整体系统性能。 EhCache的核心功能包括: 1. **内存管理**:EhCache将数据存储在内存中,提供了对...

    Ehcache分布式缓存与其在SpringBoot应用

    Ehcache是一个高性能的、基于Java的进程内缓存解决方案,它被广泛应用于各种Java应用程序,包括Java EE和轻量级容器。Ehcache的主要优势在于它的快速响应、易用性和丰富的缓存策略。它提供了两种级别的缓存存储:...

    配置EhCache二级缓存

    由于其简单易用且功能强大,EhCache 成为了 Java 应用程序中常用的缓存解决方案之一。特别是对于单机应用而言,EhCache 是一个理想的二级缓存选择。在Hibernate框架中,EhCache被作为内置缓存插件支持,这使得开发者...

    hibernate二级缓存相关插件(EHcache)

    EHcache是一款广泛使用的开源Java缓存解决方案,它不仅支持本地缓存,还支持分布式缓存。在Hibernate中,EHcache作为二级缓存插件,提供了一种高效且可扩展的缓存策略。它具有内存和磁盘存储两种方式,当内存中的...

    cache/ehcache缓存使用

    Ehcache是一款开源的、高性能的Java缓存解决方案,它被广泛应用于各种Java应用中。Ehcache支持本地缓存和分布式缓存,可以方便地集成到Spring、Hibernate等框架中。其核心特性包括内存和磁盘存储、缓存过期策略、...

    ehcache二级缓存配置文件

    Ehcache是一个广泛使用的开源Java缓存库,它提供了内存和磁盘存储的缓存解决方案,适用于提高应用程序性能和减少数据库负载。在Java应用中,尤其是在Spring框架中,Ehcache常被用作二级缓存,以提升数据访问速度。...

    Ehcache缓存

    Ehcache是一种广泛使用的开源Java分布式缓存系统,它为高性能应用程序提供了内存存储和缓存解决方案。在Java世界中,尤其是在持久化框架如Hibernate的使用中,Ehcache扮演了至关重要的角色。由于数据库查询通常会...

    Ehcache 简单的监控

    Ehcache是一个开源的、高性能的缓存解决方案,广泛应用于Java应用程序中,以提高数据访问的速度和效率。本文将深入探讨Ehcache的简单监控,帮助开发者更好地理解其工作原理和性能状态。 首先,了解Ehcache的核心...

    ehcache项目缓存技术

    Ehcache作为一款强大的缓存解决方案,为Java开发者提供了高效的数据缓存手段,能够有效提升系统性能,减轻数据库压力。理解并熟练运用Ehcache,是优化企业级应用性能的关键一步。在实际项目中,根据业务需求选择合适...

    缓存框架-Ehcache学习笔记

    - **缓存扩展**: Ehcache 可以与其他缓存解决方案集成,如 Hibernate 的二级缓存。 ### 5. Ehcache 源码分析 深入学习 Ehcache 源码有助于理解其工作原理。主要关注以下几个关键类: - **Cache**: 实现缓存逻辑的...

    Java两级缓存框架,让应用支持两级缓存框架ehcache+redis 避免完全使用独立缓存系统所带来的网络IO开销问题

    Java 两级缓存框架的设计与实现是为了解决在高并发场景下,应用程序对数据访问效率和性能的需求。这样的框架通常包括本地缓存(一级缓存)和远程分布式缓存(二级缓存)。在这个场景中,`ehcache(Caffeine)` 作为一...

    Hibernate二级缓存(Ehcache)

    Ehcache是一种广泛使用的开源缓存解决方案,它支持内存和磁盘存储,并提供了丰富的API和配置选项。在Hibernate中集成Ehcache作为二级缓存,能够进一步提升数据读取速度,尤其是在高并发场景下。 首先,我们需要在...

    高并发缓存器(基于ehcache)

    基于ehcache的缓存器是一种常见的解决方案,它能够在内存中存储常用数据,减少对数据库的访问,从而有效缓解服务器压力。 **一、Ehcache介绍** Ehcache是一款开源的Java缓存框架,最初由Greg L. Turnquist创建,现...

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

    Ehcache 是一款广泛使用的开源Java缓存解决方案,它可以用于存储页面、对象和数据,以提升应用程序的性能和响应速度。Ehcache 提供了内存和磁盘存储的支持,并且包含多种淘汰策略,如LRU(Least Recently Used)、...

    Hibernate4二级缓存Ehcache案例

    为了解决这一问题,Hibernate提供了二级缓存机制。在这个“Hibernate4二级缓存Ehcache案例”中,我们将深入探讨如何利用Ehcache作为Hibernate的二级缓存提供商,以提升应用性能。 首先,我们需要了解什么是二级缓存...

    hibernate缓存ehcache用法

    Ehcache是Hibernate常用的二级缓存解决方案,它可以提高应用程序的性能和响应速度。这篇博客文章“hibernate缓存ehcache用法”可能详细介绍了如何在Hibernate中配置和使用Ehcache。 首先,我们需要理解什么是缓存。...

    Ehcache2缓存区配置详解.pdf

    其卓越的稳定性和丰富的特性使其成为Java领域内最受欢迎的缓存解决方案之一。Ehcache能够无缝支持从小型单机部署到大规模分布式环境下的TB级数据缓存需求,展现出其强大的适应性和灵活性。 Ehcache由Terracotta公司...

    Spring Boot的EhCache缓存使用.docx

    通过以上步骤,你就可以在Spring Boot应用中成功集成并使用EhCache作为缓存解决方案。EhCache的配置可以根据实际需求进行调整,比如设置缓存过期时间、大小限制、缓存策略等。同时,EhCache还支持与其他缓存相关的...

Global site tag (gtag.js) - Google Analytics