• <ins id="pjuwb"></ins>
    <blockquote id="pjuwb"><pre id="pjuwb"></pre></blockquote>
    <noscript id="pjuwb"></noscript>
          <sup id="pjuwb"><pre id="pjuwb"></pre></sup>
            <dd id="pjuwb"></dd>
            <abbr id="pjuwb"></abbr>

            那誰(shuí)的技術(shù)博客

            感興趣領(lǐng)域:高性能服務(wù)器編程,存儲(chǔ),算法,Linux內(nèi)核
            隨筆 - 210, 文章 - 0, 評(píng)論 - 1183, 引用 - 0
            數(shù)據(jù)加載中……

            發(fā)布我的開(kāi)源cache庫(kù)ccache

            ccache(common cache)是一個(gè)使用共享內(nèi)存實(shí)現(xiàn)的cache靜態(tài)庫(kù),在節(jié)點(diǎn)數(shù)據(jù)不足時(shí)采用LRU算法進(jìn)行節(jié)點(diǎn)的淘汰.
            與memcache的區(qū)別在于,首先memcache是一個(gè)完整的server程序,不僅有cache的處理操作,還需要監(jiān)聽(tīng)及處理客戶端的操作請(qǐng)求,而ccache只是一個(gè)靜態(tài)庫(kù),只關(guān)心cache的處理操作;其次,memcache采用了內(nèi)存去管理數(shù)據(jù),程序一旦停止,其中的數(shù)據(jù)全部丟失,而ccache采用了mmap的方式去管理數(shù)據(jù),也就是每個(gè)cache都用一個(gè)與之對(duì)應(yīng)的文件,一定程度上保證了數(shù)據(jù)不至于在程序停止的時(shí)候丟失;第三,memcache實(shí)現(xiàn)了對(duì)不定長(zhǎng)key和data的支持,而cache目前(version 0.1)只支持定長(zhǎng)的key和data,也就是同一個(gè)cache只能管理一個(gè)類型的key和data.

            當(dāng)前的版本(version0.1)采用hash-list的形式管理數(shù)據(jù),LRU算法在節(jié)點(diǎn)數(shù)據(jù)不足時(shí)進(jìn)行淘汰數(shù)據(jù).
            今后的版本需要完成的主要功能:
            1)實(shí)現(xiàn)對(duì)不定長(zhǎng)key和data的處理支持.
            2)降低鎖粒度,目前ccache在對(duì)數(shù)據(jù)進(jìn)行操作時(shí),都是對(duì)cache全局加鎖,以后希望能做到降低這個(gè)加鎖的粒度,使效率更高.
            3)加入hash-rbtree的形式管理數(shù)據(jù).

            test/testcache.c是一個(gè)演示如何使用ccache的程序,目前僅在多進(jìn)程的情況下進(jìn)行測(cè)試,由于我本人對(duì)多線程不太熟悉,所以沒(méi)有做多線程情況下的測(cè)試.
            另外,由于使用了線程鎖,所以在編譯的時(shí)候需要鏈接pthread庫(kù).

            項(xiàng)目地址:http://code.google.com/p/commoncache/
            (注:請(qǐng)下載其中的ccache0.1.rar文件包,原先的cache.rar有一些問(wèn)題)

            posted on 2008-03-24 11:20 那誰(shuí) 閱讀(5840) 評(píng)論(8)  編輯 收藏 引用 所屬分類: Linux/Unixccache

            評(píng)論

            # re: 發(fā)布我的開(kāi)源cache庫(kù)ccache[未登錄](méi)  回復(fù)  更多評(píng)論   

            我是一個(gè)初學(xué)者 ,下下來(lái)看看, 學(xué)習(xí)!
            2008-03-24 12:24 | ngn999

            # re: 發(fā)布我的開(kāi)源cache庫(kù)ccache  回復(fù)  更多評(píng)論   

            頂下!
            先下來(lái)慢慢研究,以后用的著,呵呵
            2008-03-24 12:32 | cppexplore

            # re: 發(fā)布我的開(kāi)源cache庫(kù)ccache  回復(fù)  更多評(píng)論   

            緩存丟失關(guān)系不是很大吧,大家更關(guān)系性能,不知道有沒(méi)有比較測(cè)試?呵呵
            2008-03-24 13:13 | 酷勤網(wǎng)

            # re: 發(fā)布我的開(kāi)源cache庫(kù)ccache  回復(fù)  更多評(píng)論   

            開(kāi)源請(qǐng)使用 zip, 7z 或者 gz,bz2 等格式提供源代碼包,請(qǐng)勿使用轉(zhuǎn)有格式 rar
            2008-03-24 15:45 | tangfl

            # re: 發(fā)布我的開(kāi)源cache庫(kù)ccache[未登錄](méi)  回復(fù)  更多評(píng)論   

            @tangfl
            謝謝建議!下個(gè)版本就轉(zhuǎn)用這些格式.
            2008-03-24 15:55 | 創(chuàng)

            # re: 發(fā)布我的開(kāi)源cache庫(kù)ccache  回復(fù)  更多評(píng)論   

            http://www.wmsifu.cn
            2008-03-24 17:58 | 完美世界私服

            # re: 發(fā)布我的開(kāi)源cache庫(kù)ccache  回復(fù)  更多評(píng)論   

            svn里沒(méi)內(nèi)容啊,空文件夾
            2008-07-31 11:17 | denny

            # re: 發(fā)布我的開(kāi)源cache庫(kù)ccache[未登錄](méi)  回復(fù)  更多評(píng)論   

            @denny
            我沒(méi)有用SVN管理代碼,直接提交代碼的.
            2008-07-31 11:20 | 創(chuàng)
            亚洲欧美日韩精品久久亚洲区 | 久久午夜无码鲁丝片秋霞 | 亚洲国产综合久久天堂 | 亚洲综合婷婷久久| 久久这里只精品国产99热| 国内精品久久久久久久亚洲| 久久经典免费视频| 91精品国产高清91久久久久久| 青青青青久久精品国产h| 99久久国产亚洲综合精品| 精品久久久久久国产潘金莲| 亚洲国产精品人久久| 久久人人爽人人人人爽AV| 精品久久一区二区| 一本一本久久a久久综合精品蜜桃| 国产国产成人精品久久| 久久婷婷五月综合97色直播| 久久精品国产亚洲AV无码娇色| 久久精品亚洲男人的天堂| 国产精品久久久久AV福利动漫| 亚洲精品久久久www| 国产精品亚洲综合专区片高清久久久| 国内精品九九久久精品| 青青草国产97免久久费观看| 一本大道久久a久久精品综合| 无码人妻久久一区二区三区免费丨 | 国产精品久久永久免费| 国产精品99久久久精品无码| 精品久久久久久99人妻| 91久久精品无码一区二区毛片| 久久香蕉国产线看观看精品yw| 久久综合久久综合亚洲| 一本综合久久国产二区| 欧美久久综合九色综合| 久久精品国产精品亚洲人人| 欧美一区二区精品久久| 久久免费高清视频| 99久久精品免费| 久久久久婷婷| 国产精品成人久久久| 99久久99久久精品国产片果冻|