打开APP
userphoto
未登录

开通VIP,畅享免费电子书等14项超值服

开通VIP
学习使用Java缓存的OSCache框架

Web开发过程中,我们经常会碰到缓存的问题,缓存的合理使用可以使网站性能有大幅度提高(当然需要高的命中率),我这里只是抛砖引玉一下,用OSCache开源框架来实现缓存,缓存一般可以用在网站的首页数据缓存(不需要很实时的数据,如类似一些排行数据啊,热门数据啊什么的),还可以用在报表(一般报表都在一定的时间内才触发更改的),还可以用在类似的诸多场合,我这里不再累赘,使用OSCache可以给你带来很多好处,它可以缓存JSP页面(并且提供了tld文件),你可以使用标签,还可以使用Java代码中的数据缓存,对象缓存等,好处多多,废话少说,OSCache API我也是刚刚才接触,还是比较简单明了的,官方网站API:http://www.opensymphony.com/oscache/api/ ,使用文档:http://wiki.opensymphony.com/display/CACHE/Documentation ,例子代码你可以下载OSCache Full版,里面有很多Junit的测试用例,初步想了一下,可以这样实现代码:

  • 定义一个缓存所需要用的标识接口

 

Java代码
  1. public interface IOSCachable(){}  
 
  • 定义一个缓存操作类

 

Java代码
  1. GeneralCacheAdministrator admin;   
  2.   
  3. public OSCache(){   
  4.     admin = new GeneralCacheAdministrator();   
  5. }   
  6.   
  7. public OSCache(int size) {   
  8.     admin = new GeneralCacheAdministrator();   
  9.     admin.setCacheCapacity(size);   
  10. }   
  11.   
  12. public void put(String key, String value) {   
  13.     this.admin.putInCache(key,value);   
  14. }   
  15.   
  16. public void put(String key,IOSCachable obj){   
  17.     this.admin.putInCache(key,obj);   
  18. }   
  19.   
  20. public void put(String key,String value,String[] groups){   
  21.     this.admin.putInCache(key,value,groups);   
  22. }   
  23.   
  24. public void put(String key,IOSCachable obj,String[] groups){   
  25.     this.admin.putInCache(key,obj,groups);   
  26. }   
  27.   
  28.   
  29. public IOSCachable get(String key,String defaultValue,int myRefreshPeriod){   
  30.     try{   
  31.         return (IOSCachable)this.admin.getFromCache(key,myRefreshPeriod);   
  32.     }catch(NeedsRefreshException ex){   
  33.         this.admin.putInCache(key, defaultValue);   
  34.         return null;   
  35.     }   
  36. }   
  37.   
  38. public IOSCachable get(String key,String defaultValue){   
  39.     try{   
  40.         return (IOSCachable)this.admin.getFromCache(key);   
  41.     }catch(NeedsRefreshException ex){   
  42.         this.admin.putInCache(key, defaultValue);   
  43.         return null;   
  44.     }   
  45. }  
 
  • 开始使用吧

通过put,get缓存对象开始使用

本站仅提供存储服务,所有内容均由用户发布,如发现有害或侵权内容,请点击举报
打开APP,阅读全文并永久保存 查看更多类似文章
猜你喜欢
类似文章
OSCache框架源码解析
SSM前后端分离/不分离对比Demo
深究OSCache
C# Winform 修改app.config文件
C#操作INI文件(调用WindowsAPI函数WritePrivateProfileString,GetPrivateProfileString)
Unity3D 中保存或读取数组的方法
更多类似文章 >>
生活服务
热点新闻
分享 收藏 导长图 关注 下载文章
绑定账号成功
后续可登录账号畅享VIP特权!
如果VIP功能使用有故障,
可点击这里联系客服!

联系客服