如何通过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,增加如下内容:
            maxElementsInMemory="1000"
        eternal="true"
        timeToIdleSeconds="86400"
        timeToLiveSeconds="86400"
        overflowToDisk="true"
        />
            maxElementsInMemory="1000"
        eternal="true"
        timeToIdleSeconds="86400"
        timeToLiveSeconds="86400"
        overflowToDisk="true"
        />

            maxElementsInMemory="1000"
        eternal="true"
        timeToIdleSeconds="86400"
        timeToLiveSeconds="86400"
        overflowToDisk="true"
        />
            maxElementsInMemory="1000"
        eternal="true"
        timeToIdleSeconds="86400"
        timeToLiveSeconds="86400"
        overflowToDisk="true"
        />
            maxElementsInMemory="1000"
        eternal="true"
        timeToIdleSeconds="86400"
        timeToLiveSeconds="86400"
        overflowToDisk="true"
        />
            maxElementsInMemory="1000"
        eternal="true"
        timeToIdleSeconds="86400"
        timeToLiveSeconds="86400"
        overflowToDisk="true"
        />

2.修改com/vtradex/endbrain/dao/hibernate/tableInfo.hbm.xml
2.1在class定义下加入

2.2在
下加入
         
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定义下加入

4.2在       
       
       
下分别加入
         
5.修改com.vtradex.bedrock.dao.security.hibernate.HibernateUserDao
在getUserByLoginName方法中
增加
setCacheable(true)
setCacheRegion("com.vtradex.bedrock.model.security.User")

 

你可能感兴趣的:(cache,table,authorization,class,user,query)