changelog:
加入對可變長key/value的支持.
shm.h/.c文件更名為memory.h/.c文件 create_shm/destroy_shm 更名為create_mmap/destroy_mmap
加入頭文件config.h, 可用于配置一些參數
加入error.h/error.c 可以保存一些出錯的信息
在使用時, 采用create_ccache函數創建ccache_t對象指針,其中的參數min_size和max_size分別指定cache中保存數據的最小和最大尺寸, min_size<=max_size, 當min_size = max_size時, 則是特殊情況, 可用于固定key/value的cache來使用, 節省了不少空間.(當然, 如果你想使用min_size和max_size不相同的cache來存放固定key/value的數據,也是可以的,只不過會浪費一些空間).
在插入/查詢/刪除數據等操作時,需要將數據封裝到一個數據結構中:
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的數據,請參看test文件夾下面用于壓力測試的兩個示例文件.
ccache庫項目地址:
http://code.google.com/p/commoncache/
項目的相關介紹見這里:
http://www.shnenglu.com/converse/archive/2008/03/24/45236.html