Java学习者论坛

 找回密码
 立即注册

QQ登录

只需一步,快速开始

手机号码,快捷登录

恭喜Java学习者论坛(https://www.javaxxz.com)已经为数万Java学习者服务超过8年了!积累会员资料超过10000G+
成为本站VIP会员,下载本站10000G+会员资源,购买链接:点击进入购买VIP会员
JAVA高级面试进阶视频教程Java架构师系统进阶VIP课程

分布式高可用全栈开发微服务教程

Go语言视频零基础入门到精通

Java架构师3期(课件+源码)

Java开发全终端实战租房项目视频教程

SpringBoot2.X入门到高级使用教程

大数据培训第六期全套视频教程

深度学习(CNN RNN GAN)算法原理

Java亿级流量电商系统视频教程

互联网架构师视频教程

年薪50万Spark2.0从入门到精通

年薪50万!人工智能学习路线教程

年薪50万!大数据从入门到精通学习路线年薪50万!机器学习入门到精通视频教程
仿小米商城类app和小程序视频教程深度学习数据分析基础到实战最新黑马javaEE2.1就业课程从 0到JVM实战高手教程 MySQL入门到精通教程
查看: 334|回复: 0

[jsp学习]一个cache小组件

[复制链接]
  • TA的每日心情
    开心
    2021-3-12 23:18
  • 签到天数: 2 天

    [LV.1]初来乍到

    发表于 2014-10-1 18:23:54 | 显示全部楼层 |阅读模式
    Cache作为提高性能的有效手段可以说是无处不在的。CPU有一级缓存,二级缓存;数据库有自己的数据缓存;内存实质上就是硬盘的缓存。。。。。。而程序中的缓存也能够有效的减少与存储设备的交互,增加应用的并发能力。
           我通过在实际项目中自行设计和使用cache,逐渐提高了系统的并发能力,但同时也感觉到了很多的不足:
        1. 因为是在原有系统基础上优化,cache的处理没有统一的规划,而是头痛医头,脚痛医脚。cache分散在系统各个模块,很难想起哪些模块使用了cache
        2. cache的实现各种各样,有的是单例、有的是static对象,而cache对象与数据库的交互也是直接硬编码在原有系统中,难于维护
      
       
      
    3. cache的参数如刷新间隔。。。。。。未使用配置文件,而是直接定义在cache的类文件中,对配置的更改就需要更新整个类,进而影响系统的运行 4. 缺少对cache的监控机制和log机制,出现问题很难去跟踪和解决。         经过一段时间具体项目的洗礼,对java也有了进一步的认识,我也可以有能力来解决一直困扰心中的cache的这些问题了。想法很简单,就是能够通过单一的配置文件,对系统中的所有cache进行统一的管理,各个cache所在的模块,和cache的配置参数,都能够一目了然。而对配置文件的重载功能也是我要考虑的问题,希望对某些cache的配置的更改能够对其它cache无影响,同时这些更改也能在不影响应用运行状态的情况下进行。当然既然是统一管理,就需要做到接口的统一。我定义了Cache和CachePersistence两个接口,然后不同的cache可以提供不同的实现,实现类需要在配置文件中指定,同时系统提供默认的实现,以满足简单的应用。想了就要开始做,我也没想一开始就做出象OSCache或JbossCache那样通用的cache来,也许经过不断的交流,不断的完善最终可以做到。经过简单的设计,我就开始写代码了,就我一个人,也算是XP编程了,呵呵!cache的配置参数,我根据项目经验想到了几个,可能还可以有,但目前我不知道,需要在更多的项目应用中去发现,具体可以看我的包中的cache.xml文件,有对配置项的具体说明。     从开始开发到最后写完测试类,也就不到一个星期的时间(上班的空余时间和加班写),当中也进行了几次重构。总的来说,还算满意,这也算俺的第一个开源项目啊,呵呵!
    具体如何使用,很简单,你有兴趣可以实现Cache接口,我内置了基于HashMap的Cache,应该能满足大部分应用的需要。CachePersistence就是你的对象与存储设备交互的实现了,你一般需要实现这一接口,然后配置在配置文件中。然后通过CacheFactory得到Cache,通过Cache接口使用对象。对Cache的操作你可以当成一个Map来使用,由容器来自动处理何时与存储设备的交互,你只要配置好就ok了。另外可以参考src中的test包,里面是我对Cache的功能测试代码,也能作为使用cache的实例的。 说了这么多,大家如果有兴趣,可下载我的全部文件,里面包括jar、src、lib、javadoc还有配置文件,点击这里http://www.blogjava.net/Files/pesome/pcache.zip。更欢迎大家在实际的项目中使用我的cache,如果有任何问题都可以跟我联系,mailto:pesome@163.com。谢谢!

      
      
       
       

         
       

         
       
      


    源码下载:http://file.javaxxz.com/2014/10/1/182353906.zip
    回复

    使用道具 举报

    您需要登录后才可以回帖 登录 | 立即注册

    本版积分规则

    QQ|手机版|Java学习者论坛 ( 声明:本站资料整理自互联网,用于Java学习者交流学习使用,对资料版权不负任何法律责任,若有侵权请及时联系客服屏蔽删除 )

    GMT+8, 2024-5-22 16:47 , Processed in 0.423874 second(s), 50 queries .

    Powered by Discuz! X3.4

    © 2001-2017 Comsenz Inc.

    快速回复 返回顶部 返回列表