<rt id="bn8ez"></rt>
<label id="bn8ez"></label>

  • <span id="bn8ez"></span>

    <label id="bn8ez"><meter id="bn8ez"></meter></label>

    自己寫(xiě)的一個(gè)cache小組件

    Cache作為提高性能的有效手段可以說(shuō)是無(wú)處不在的。CPU有一級(jí)緩存,二級(jí)緩存;數(shù)據(jù)庫(kù)有自己的數(shù)據(jù)緩存;內(nèi)存實(shí)質(zhì)上就是硬盤(pán)的緩存。。。。。。而程序中的緩存也能夠有效的減少與存儲(chǔ)設(shè)備的交互,增加應(yīng)用的并發(fā)能力。

    我通過(guò)在實(shí)際項(xiàng)目中自行設(shè)計(jì)和使用cache,逐漸提高了系統(tǒng)的并發(fā)能力,但同時(shí)也感覺(jué)到了很多的不足:

    1.       因?yàn)槭窃谠邢到y(tǒng)基礎(chǔ)上優(yōu)化,cache的處理沒(méi)有統(tǒng)一的規(guī)劃,而是頭痛醫(yī)頭,腳痛醫(yī)腳。cache分散在系統(tǒng)各個(gè)模塊,很難想起哪些模塊使用了cache

    2.       cache的實(shí)現(xiàn)各種各樣,有的是單例、有的是static對(duì)象,而cache對(duì)象與數(shù)據(jù)庫(kù)的交互也是直接硬編碼在原有系統(tǒng)中,難于維護(hù)

    3.       cache的參數(shù)如刷新間隔。。。。。。未使用配置文件,而是直接定義在cache的類文件中,對(duì)配置的更改就需要更新整個(gè)類,進(jìn)而影響系統(tǒng)的運(yùn)行

    4.       缺少對(duì)cache的監(jiān)控機(jī)制和log機(jī)制,出現(xiàn)問(wèn)題很難去跟蹤和解決。

    經(jīng)過(guò)一段時(shí)間具體項(xiàng)目的洗禮,對(duì)java也有了進(jìn)一步的認(rèn)識(shí),我也可以有能力來(lái)解決一直困擾心中的cache的這些問(wèn)題了。想法很簡(jiǎn)單,就是能夠通過(guò)單一的配置文件,對(duì)系統(tǒng)中的所有cache進(jìn)行統(tǒng)一的管理,各個(gè)cache所在的模塊,和cache的配置參數(shù),都能夠一目了然。而對(duì)配置文件的重載功能也是我要考慮的問(wèn)題,希望對(duì)某些cache的配置的更改能夠?qū)ζ渌?/SPAN>cache無(wú)影響,同時(shí)這些更改也能在不影響應(yīng)用運(yùn)行狀態(tài)的情況下進(jìn)行。當(dāng)然既然是統(tǒng)一管理,就需要做到接口的統(tǒng)一。我定義了CacheCachePersistence兩個(gè)接口,然后不同的cache可以提供不同的實(shí)現(xiàn),實(shí)現(xiàn)類需要在配置文件中指定,同時(shí)系統(tǒng)提供默認(rèn)的實(shí)現(xiàn),以滿足簡(jiǎn)單的應(yīng)用。想了就要開(kāi)始做,我也沒(méi)想一開(kāi)始就做出象OSCacheJbossCache那樣通用的cache來(lái),也許經(jīng)過(guò)不斷的交流,不斷的完善最終可以做到。經(jīng)過(guò)簡(jiǎn)單的設(shè)計(jì),我就開(kāi)始寫(xiě)代碼了,就我一個(gè)人,也算是XP編程了,呵呵!cache的配置參數(shù),我根據(jù)項(xiàng)目經(jīng)驗(yàn)想到了幾個(gè),可能還可以有,但目前我不知道,需要在更多的項(xiàng)目應(yīng)用中去發(fā)現(xiàn),具體可以看我的包中的cache.xml文件,有對(duì)配置項(xiàng)的具體說(shuō)明。

    從開(kāi)始開(kāi)發(fā)到最后寫(xiě)完測(cè)試類,也就不到一個(gè)星期的時(shí)間(上班的空余時(shí)間和加班寫(xiě)),當(dāng)中也進(jìn)行了幾次重構(gòu)??偟膩?lái)說(shuō),還算滿意,這也算俺的第一個(gè)開(kāi)源項(xiàng)目啊,呵呵!

    具體如何使用,很簡(jiǎn)單,你有興趣可以實(shí)現(xiàn)Cache接口,我內(nèi)置了基于HashMapCache,應(yīng)該能滿足大部分應(yīng)用的需要。CachePersistence就是你的對(duì)象與存儲(chǔ)設(shè)備交互的實(shí)現(xiàn)了,你一般需要實(shí)現(xiàn)這一接口,然后配置在配置文件中。然后通過(guò)CacheFactory得到Cache,通過(guò)Cache接口使用對(duì)象。對(duì)Cache的操作你可以當(dāng)成一個(gè)Map來(lái)使用,由容器來(lái)自動(dòng)處理何時(shí)與存儲(chǔ)設(shè)備的交互,你只要配置好就ok了。另外可以參考src中的test包,里面是我對(duì)Cache的功能測(cè)試代碼,也能作為使用cache的實(shí)例的。

    說(shuō)了這么多,大家如果有興趣,可下載我的全部文件,里面包括jar、srclibjavadoc還有配置文件,點(diǎn)擊這里http://m.tkk7.com/Files/pesome/pcache.zip。更歡迎大家在實(shí)際的項(xiàng)目中使用我的cache,如果有任何問(wèn)題都可以跟我聯(lián)系,mailto:pesome@163.com。謝謝!

    posted on 2005-09-06 15:38 pesome 閱讀(2225) 評(píng)論(6)  編輯  收藏 所屬分類: 開(kāi)源軟件

    評(píng)論

    # re: 自己寫(xiě)的一個(gè)cache小組件 2005-09-06 17:48 margiex

    Resource not found  回復(fù)  更多評(píng)論   

    # re: 自己寫(xiě)的一個(gè)cache小組件 2005-09-07 09:19 pesome

    鏈接開(kāi)始有點(diǎn)錯(cuò)誤,我已經(jīng)更改!謝謝!  回復(fù)  更多評(píng)論   

    # re: 自己寫(xiě)的一個(gè)cache小組件 2005-09-08 11:13 Xuefeng

    好像你的算法是整個(gè)Cache Pool都全部刷新,最好根據(jù)LRU算法

    另外Week引用好像可以適用于Cache  回復(fù)  更多評(píng)論   

    # re: 自己寫(xiě)的一個(gè)cache小組件 2005-09-08 12:27 pesome

    呵呵,如果配置文件更改,我會(huì)刷新相應(yīng)的cache。你所說(shuō)的LRU算法應(yīng)該是cache有大小限制,在已滿狀態(tài)下增加新的對(duì)象的替換算法,這個(gè)我還沒(méi)實(shí)現(xiàn),呵呵!目前沒(méi)有大小限制?!癢eek引用好像可以適用于Cache ”,有點(diǎn)不明白,能說(shuō)的更詳細(xì)些嗎?謝謝  回復(fù)  更多評(píng)論   

    # re: 自己寫(xiě)的一個(gè)cache小組件 2005-09-12 15:26 Xuefeng

    cache的實(shí)現(xiàn)是很復(fù)雜的,如果不考慮大小限制肯定會(huì)內(nèi)存溢出,定期刷新的cache還好一點(diǎn),要實(shí)現(xiàn)讀寫(xiě)同步的通用cache基本上特別困難,現(xiàn)在比較好的cache框架就是oscache  回復(fù)  更多評(píng)論   

    # re: 自己寫(xiě)的一個(gè)cache小組件 2009-12-28 16:29 ll

    頂  回復(fù)  更多評(píng)論   

    <2005年9月>
    28293031123
    45678910
    11121314151617
    18192021222324
    2526272829301
    2345678

    導(dǎo)航

    統(tǒng)計(jì)

    公告

    主要記錄作者在學(xué)習(xí)java中的每一步足跡。除非特別說(shuō)明,所有文章均為本blog作者原創(chuàng),如需轉(zhuǎn)載請(qǐng)注明出處和原作者,如用于商業(yè)目的,需跟作者本人聯(lián)系。
    歡迎大家訪問(wèn):

    常用鏈接

    留言簿(16)

    隨筆分類

    隨筆檔案

    文章分類

    文章檔案

    相冊(cè)

    收藏夾

    java技術(shù)

    人間百態(tài)

    朋友們的blog

    搜索

    最新評(píng)論

    閱讀排行榜

    評(píng)論排行榜

    主站蜘蛛池模板: 皇色在线视频免费网站| 亚洲妇女水蜜桃av网网站| 成年女人免费视频播放77777| a级毛片免费高清视频| 亚洲中文精品久久久久久不卡| 亚洲午夜久久久久妓女影院| 日产乱码一卡二卡三免费| 久草视频免费在线| 久久午夜羞羞影院免费观看| yellow视频免费看| 午夜亚洲WWW湿好爽| 亚洲日本久久一区二区va| 亚洲邪恶天堂影院在线观看| 亚洲熟妇无码另类久久久| 亚洲精品亚洲人成在线观看下载| 欧洲精品免费一区二区三区| 最近中文字幕免费mv视频8| 免费观看黄色的网站| 国产精品99久久免费观看| 巨胸喷奶水视频www免费视频 | 114级毛片免费观看| 十八禁视频在线观看免费无码无遮挡骂过 | 亚洲国产精品丝袜在线观看| 四虎影视www四虎免费| 三年片在线观看免费观看高清电影 | 日本妇人成熟免费中文字幕| 四虎在线最新永久免费| 97在线视频免费| 免费国产黄网站在线观看可以下载 | 暖暖免费日本在线中文| 国产一区二区三区免费观在线| av片在线观看永久免费| xxxx日本在线播放免费不卡| 深夜福利在线免费观看| 白白色免费在线视频| 水蜜桃视频在线观看免费| 免费人人潮人人爽一区二区| 乱淫片免费影院观看| 香蕉视频在线免费看| 免费看黄的成人APP| 8888四色奇米在线观看免费看|