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 虛擬機什么時候失放嗎?  回復  更多評論
            
          主站蜘蛛池模板: 工布江达县| 乡宁县| 商水县| 张家口市| 启东市| 东莞市| 巴楚县| 平凉市| 黑龙江省| 呼玛县| 湄潭县| 鄄城县| 武定县| 隆昌县| 德化县| 邛崃市| 遂溪县| 永新县| 林州市| 上林县| 金门县| 家居| 陈巴尔虎旗| 罗定市| 宁强县| 西城区| 洛川县| 惠州市| 益阳市| 九江县| 开原市| 奉节县| 清水河县| 常德市| 平陆县| 郧西县| 图木舒克市| 太康县| 磐安县| 易门县| 油尖旺区|