memcachedb跟memcache一樣,網絡socket數據處理依賴於libevent,所以,在安裝之前需要下載三個安裝包,即libevent、Berkeley Db以及memcachedb。
Libevent 下載頁面:http://monkey.org/~provos/libevent/ ,下載最新穩定版本就行。
Berkeley Db下載頁面:http://www.oracle.com/technology/software/products/berkeley-db/index.html 需要安裝4.6版本
memcachedb下載頁面:http://code.google.com/p/memcachedb/ 下載最新版本 0.1.0版本
按照順序安裝,Libevent和Berkeley Db按照常規安裝即可,這裡以Linux 環境為標准。
[======Libevent=====]
tar -zxvf libevent-1.3e.tar.gz
cd libevent-1.3e
./configure
make && make install
[======Berkeley Db=====]
tar -zxvf db-4.6.19.tar.gz
#需要進入特定操作系統編譯環境,更常規軟件的編譯有些區別
cd db-4.6.19/build_unix/
#然後才能夠開始編譯
../dist/configure
make && make install
#如果沒有指定特殊安裝路徑,編譯完成,需要將Berkeley Db運行庫的路徑添加到系統配置裡面
echo "/usr/local/BerkeleyDB.4.6/lib/" >> /etc/ld.so.conf
#重載系統Ld運行庫
ldconfig
[======Memcachedb=====]
tar -zxvf memcachedb-0.1.0.tar.gz
cd memcachedb-0.1.0
#如果您要存儲的內容的鍵值的長度和單筆內容的長度有變化,您需要更改一個文件 memcachedb.h
vim memcachedb.h
////////////////////////////////////////////////////////////
#define END_LEN 32 ----> 這是是 Key+Value 的最大長度
#define END_LEN_STR "31" ---> 這是是 key 的最大長度
/////////////////////////////////////////////////////////
#默認key鍵值只預留了31個字節的長度,單筆數據最長是32個字節數。
#例如您如果需要用這個玩藝來存儲文本內容數據,假設您的鍵值是一個32個字節的md5,單筆數據允許最長10K,那您可以設定
////////////////////////////////////////////////////////////
#define END_LEN 102400 ----> 這是是 Key+Value 的最大長度
#define END_LEN_STR "32" ---> 這是是key的最大長度
/////////////////////////////////////////////////////////
#修改完之後,直接make就行
make
#編譯完之後,將生成可執行memcachedb拷貝到 /usr/sbin/
cp -f memcachedb /usr/sbin/
#啟動 memcachedb
#第一種,讀寫合並模式,即不做輔拷貝,即讀又寫,不做冗余備份
memcachedb -p21211 -d -r -u root -H /data/mdb_11211 -N
#第二種,讀寫分離/備份模式
#主服務器 192.168.0.1 讀寫監聽 11211 ,同步通過31211的端口完成,不占用繁忙的主服務端口
memcachedb -p21211 -d -r -u root -H /data/mdb_11211_m -N -R 127.0.0.1:31211 -M
# 輔服務器 192.168.0.2 只讀監聽 21212,從192.168.0.1 的 31211端口同步數據,同時再開一個31212端口對外提供數據同步服務
memcachedb -p21212 -d -r -u root -H /data/mdb_11211_from_16801_s -O 192.168.0.1:31211 -R 192.168.0.2:31212 -S