`
gladstone
  • 浏览: 71032 次
  • 性别: Icon_minigender_1
  • 来自: 上海
最近访客 更多访客>>
社区版块
存档分类
最新评论

三级!史上最快的假奶

阅读更多
前文见 假奶大过天 -- Java缓存初探1


那天用 p6spy 测了一下生成的sql语句,吓了陈老师一大跳,每个页面请求还是执行了相当多的重复查询语句,ct 的mysql服务器不容易啊。检查了一下 toplink 配置文件没有太奇怪的地方,难道丫的二级缓存天生残废

看来加上三级假奶缓存是当务之急

三级也不是那么简单的事情,虽然简单说就是在DAO中间一层:



缓存策略上木有考虑太多,但是像整表刷新的做法在交互程序上的效率太差,把list和单个bean的处理分开来,按说会稍有改善,但是怎么说也要基于Entity做一点小工作:



用法:


这样,要给每个表映射类分配两个假奶池


三级缓存管理是一个接口,具体用什么缓存可以随便换,这里用上史上最快的,当然,这个benchmark不一定信得过:





看看本地的命中率:




在首页访问率高的情况下,达到较高的命中率还是有希望的。


然后,whirlycache 的用法其实也相当简单:

//Use the cache manager to create the default cache
Cache c = CacheManager.getInstance().getCache();

//Put an object into the cache
c.store("yourKeyName", new WhateverObject());

//Get the object back out of the cache
WhateverObject o = (WhateverObject) c.retrieve("yourKeyName");

//Shut down the cache manager
CacheManager.getInstance().shutdown();




题外,搜着一个hibernate的插件文章

接口命名上倒是和现在用的一样...

package net.sf.hibernate.cache;

import java.util.Properties;

/**
* Cache Provider Factory for Whirly Cache
*
* @author Daniel Bradby
*/
public class WhirlyCacheProvider implements CacheProvider
{
/**
* @param Name of the cache. Must match a cache configured in whirlycache.xml
* @param Properties not used
* @return A new cache
* @throws CacheException if any errors occur while creating the cache (eg. bad config)
*/
public Cache buildCache(String name, Properties properties) throws CacheException
{
return new WhirlyCache(name);
}

/**
* Returns the next timestamp.
*/
public long nextTimestamp()
{
return Timestamper.next();
}
}
 发布时间:2008-09-29 17:35:08 | 阅读:205 | 评论:0 
分享到:
评论

相关推荐

    史上最好用的Android省市区选择,三级联动

    本项目标题为“史上最好用的Android省市区选择,三级联动”,它旨在提供一个高效、易用的解决方案,帮助开发者快速集成这一功能。 在Android应用中,实现省市区选择通常涉及到数据的获取、UI的设计以及事件的处理。...

    word excel powerpoint技巧大全(暴强!史上最全最条理)

    在办公软件领域,Microsoft Office的三大神器——Word、Excel和PowerPoint,是大多数职场人士必备的工具。这篇“word excel powerpoint技巧大全”文档涵盖了这三个软件的大量实用技巧,旨在帮助用户提高工作效率,...

    西工大计算机操作系统复习(问题+回答)60页!一万字!纯手打!史上最全!

    3. **系统程序**:操作系统是计算机中最重要、最基本、最复杂的系统程序之一,它控制着应用程序的执行过程。 #### 二、操作系统的历史发展 **1. 第一代:手工操作时期 (1945-1955)** - **特点**:使用机器语言...

    史上最全史上最全EXCLE学习资料

    这份“史上最全史上最全Excel学习资料”旨在为用户提供全面、深入的Excel知识,帮助用户提升工作效率,掌握日常工作中可能遇到的各种Excel技巧。 在“Excel高效办公职场对话系列视频课程”中,你将能够学习到: 1....

    精品PPT课件260页17课时 《全国青少年机器人技术等价考试三级》

    《全国青少年机器人技术等价考试三级》知识点总结 在《全国青少年机器人技术等价考试三级》中,我们可以学习到机器人技术的基础知识和 Arduino 开源电子原型平台的应用。下面是我们从课件中总结出的知识点: 一、...

    史上最全word用法!!!

    Word是Microsoft Office套件中最常用的文字处理软件,用于创建、编辑和...以上就是史上最全的Word用法中涉及的一些关键知识点,涵盖了从基本操作到高级技巧的多个方面,掌握了这些技巧,可以极大地提升Word使用效率。

    史上最新最全胜任力素质能力辞典(素质能力库).doc

    史上最新最全胜任力素质能力辞典(素质能力库) 本资源摘要信息将对史上最新最全胜任力素质能力辞典(素质能力库)中的知识点进行详细的解释和分析。 全局观念(OVV) 全局观念是指从组织整体和长期的角度,进行...

    史上最全twain资料

    在您收集的资料中,提到了三个版本的TWAIN规范。规范是定义接口和通信协议的关键文档,确保不同供应商的设备和软件能够无缝协同工作。TWAIN的规范会随着技术发展不断更新,以适应新的功能和需求。每个新版本可能包括...

    Excel/Word/PPT_Office使用技巧大全完整版(史上最全)

    在Microsoft Office套件中,Excel、Word和PPT是三款极为重要的应用,广泛用于...通过阅读《Excel_word_ppt_office使用技巧大全完整版(史上最全).pdf》这本书,你可以更深入地掌握这些技巧,提升自己的Office技能水平。

    物联网最全科普!NB-IoT史上最全资料

    从2G到4G,移动通信技术经历了快速的发展与变革,旨在为人类提供更快的数据传输速度和更稳定的连接服务。然而,随着物联网(IoT)时代的到来,移动通信网络面临着新的挑战与机遇。 - **2G(GSM)**:标志着移动通信...

    史上最好用的三款取色器

    今天我们要探讨的是三款被誉为“史上最好用”的取色器软件,它们简单易用,是前端开发者不可或缺的工具。 1. **ColorPick Eyedropper** ColorPick Eyedropper是一款轻量级且高效的取色工具,它允许用户通过鼠标...

    sail:史上最快的js引擎

    帆(Sail)被誉为有史以来最快的JavaScript引擎,这标志着在JavaScript性能优化领域的一次重大突破。JavaScript,作为Web开发中的主流脚本语言,其运行效率对于网页应用的响应速度和用户体验至关重要。Sail的出现,...

    AutoCAD基础知识、快捷键大全初学快速入门教程史上最全.pdf

    AutoCAD,全称为Autodesk Computer Aided Design,是一款由Autodesk公司开发的计算机辅助设计软件,广泛应用于工程、建筑、机械、电气等...通过这个史上最全的初学快速入门教程,相信你可以快速步入AutoCAD的专业领域。

    号称史上word最全用法--精美PPT

    ### Word 最全用法知识点详解 #### 一、去除页眉横线的三种方法 1. **通过边框和底纹设置去除横线** - 在页眉中选择“格式”-“边框和底纹”,设置表格和边框为“无”,应用于“段落”。 2. **通过边框颜色...

    STM32史上最全库.rar

    这个“STM32史上最全库.rar”压缩包很可能是包含了STM32开发过程中所需的各种库文件、示例代码、开发工具和其他相关资料的集合。下面,我们将深入探讨STM32库的概念以及它们在STM32开发中的重要性。 STM32库分为几...

    史上最全spring以及扩展功能jar

    本资源包含的"史上最全spring以及扩展功能jar"显然是一个集合了Spring框架及其众多扩展功能的库,旨在提供一站式解决方案,避免开发者在项目中逐一引入所需jar包。 首先,Spring框架的核心组件包括: 1. **Spring ...

    史上最全70道Spring面试题!.zip

    Spring通过构造器注入、setter方法注入和接口注入三种方式实现DI。 5. **Spring中的Bean是什么?** Bean是Spring IoC容器管理的对象,它们的生命周期、装配和配置由Spring容器负责。 6. **解释一下Spring的AOP?...

Global site tag (gtag.js) - Google Analytics