posts - 60,comments - 71,trackbacks - 0

              在WEB程序中使用緩存,能給程序帶來不小的效率上的提升,常用的方式是使用一些緩存插件,如OSCACHE等,這里介紹個簡單的使用方式,即借助HaspMap進行緩存,即定義一個HaspMap的類變量,然后將程序得到的數據存入該變量中,當要獲取的時候,先從該變量中取,如果該變量中沒有數據,則再根據其他方式(如從數據庫中讀取,或從文件中讀取).然后將取到的數據存入的變量中,下次要使用時,就可以直接從該變量中取了,提高了效率.

          類似代碼如下:
              
          private static Map cache = new HashMap();

          public Object getObj() {
          final String cacheKey = "cacheToName";
          if(cache.containsKey(cacheKey)) {
                 Object obj 
          = (Object)cache.get(cacheKey);
                     return obj;
          }

          else{
             Object obj 
          = "select * from ";
                cache.put(cacheKey,obj);
                    return obj;
          }
          }

          經過這樣緩存的處理后,就可以給程序帶來一定的效率的提升了.

          注:這里要注意一個問題,即如果從數據庫或文件中得到的數據可能是會變化的時候,且程序中又要得到最新的數據時,采用這種方式是會有問題的,即不能得到最新的數據,比如開始從數據庫中查詢得到了一條數據,然后存入HashMap變量中,然后在系統的其他地方中更改了數據庫表中的數據,這時采用這種緩存方式獲取到的數據是改變之前的舊數據,而不是最新的數據的,如果要得到最新的數據,則就應該去掉緩存機制,呵呵.
          posted on 2008-06-12 16:00 henry1451 閱讀(402) 評論(1)  編輯  收藏 所屬分類: Java技術

          FeedBack:
          # re: 程序中緩存的使用
          2009-03-13 16:18 | 代碼人生
          如果數據量大的化,這個時候你知道JAVA 虛擬機什么時候失放嗎?  回復  更多評論
            
          主站蜘蛛池模板: 吴桥县| 蛟河市| 吕梁市| 饶河县| 琼海市| 阿坝| 茂名市| 新民市| 阿鲁科尔沁旗| 云梦县| 高台县| 玉树县| 久治县| 萨嘎县| 甘泉县| 张家界市| 桃源县| 萍乡市| 承德县| 太仆寺旗| 玛沁县| 平昌县| 抚松县| 合作市| 景泰县| 安顺市| 阿巴嘎旗| 昌宁县| 建阳市| 邢台县| 太和县| 布尔津县| 海门市| 永福县| 开江县| 银川市| 黄大仙区| 新巴尔虎右旗| 夏河县| 尼玛县| 泊头市|