changelog:
加入對可變長key/value的支持.
shm.h/.c文件更名為memory.h/.c文件 create_shm/destroy_shm 更名為create_mmap/destroy_mmap
加入頭文件config.h, 可用于配置一些參數(shù)
加入error.h/error.c 可以保存一些出錯的信息
在使用時, 采用create_ccache函數(shù)創(chuàng)建ccache_t對象指針,其中的參數(shù)min_size和max_size分別指定cache中保存數(shù)據(jù)的最小和最大尺寸, min_size<=max_size, 當(dāng)min_size = max_size時, 則是特殊情況, 可用于固定key/value的cache來使用, 節(jié)省了不少空間.(當(dāng)然, 如果你想使用min_size和max_size不相同的cache來存放固定key/value的數(shù)據(jù),也是可以的,只不過會浪費一些空間).
在插入/查詢/刪除數(shù)據(jù)等操作時,需要將數(shù)據(jù)封裝到一個數(shù)據(jù)結(jié)構(gòu)中:
typedef struct data_t
{
int datasize; /* the size of the data */
int keysize; /* the size of the key */
char* data; /* the pointer of the data */
char* key; /* the pointer of the key */
}data_t;
注釋中對每個字段的含義解釋的很清楚.
具體如何使用ccache來操作可變或者固定key/value的數(shù)據(jù),請參看test文件夾下面用于壓力測試的兩個示例文件.
ccache庫項目地址:
http://code.google.com/p/commoncache/
項目的相關(guān)介紹見這里:
http://www.shnenglu.com/converse/archive/2008/03/24/45236.html