主要更新:
1)將原先的線程鎖改成了線程讀寫(xiě)鎖,這個(gè)變化會(huì)讓操作更快些,在查找,遍歷操作的時(shí)候使用的是讀鎖,插入,刪除,更新,替換等
會(huì)改變cache中元素的操作使用的是寫(xiě)鎖.
2)將原先的API命名方式做了改變,變?yōu)閏cache_***方式的命名, 這也是很多項(xiàng)目的命名方式, 但是其他未向外公開(kāi)的API沒(méi)有改變
命名方式,我在想是不是要把所有的函數(shù)都改成ccache_***的命名方式, 似乎這樣更加統(tǒng)一一些.
3)另外, 原來(lái)的一個(gè)API, update_or_insert_data,命名方式太丑陋了, 改成了replace, 按照現(xiàn)在的命名方式, 這個(gè)API的名字
就是ccache_replace.
4)原先的operator.h/.c文件被刪除, 取而代之的是functor.h/.c文件, 同時(shí)將插入,替換,更新,查找,刪除,訪問(wèn)等操作作為函數(shù)指針?lè)庋b到functor_t結(jié)構(gòu)體
中, 這樣以后采用其他的數(shù)據(jù)結(jié)構(gòu)只要初始化不同的函數(shù)指針就可以了.
本來(lái)這個(gè)版本想要加入對(duì)紅黑樹(shù)的支持, 但是出現(xiàn)了bug,我調(diào)試了很久,由于最近工作比較忙, 一直沒(méi)有專門(mén)的時(shí)間抽出來(lái)解決這個(gè)問(wèn)題, 而且距離上一個(gè)版本的發(fā)布已經(jīng)過(guò)去了好一段時(shí)間了,于是我把對(duì)紅黑樹(shù)的支持作為下一個(gè)版本的主要feature,希望能在近期發(fā)布這個(gè)版本.
點(diǎn)擊
這里下載0.4版本.