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 閱讀(400) 評論(1)  編輯  收藏 所屬分類: Java技術

          FeedBack:
          # re: 程序中緩存的使用
          2009-03-13 16:18 | 代碼人生
          如果數據量大的化,這個時候你知道JAVA 虛擬機什么時候失放嗎?  回復  更多評論
            
          主站蜘蛛池模板: 定州市| 如东县| 龙州县| 四子王旗| 长垣县| 鄂尔多斯市| 惠东县| 萨迦县| 定边县| 泸西县| 新田县| 建湖县| 绥德县| 鄯善县| 晋江市| 农安县| 华阴市| 江口县| 乐平市| 万全县| 梧州市| 敦化市| 南溪县| 留坝县| 中超| 来凤县| 甘泉县| 禄劝| 嘉义县| 黄大仙区| 鹤岗市| 遂溪县| 岳阳县| 团风县| 上饶县| 平度市| 天等县| 宝山区| 固阳县| 榆中县| 隆回县|