memcachedb网站:http://memcachedb.org/
介绍:http://www.itlearner.com/article/4690
MemcacheDB是一款分布式键值持久存储系统,由新浪开源。MemcacheDB基于memcached协议,所以可以使用mc客户端直接使用,存储引擎方面使用Berkeley DB,支持主从复制模式。
首先,我们从基本的数据存储的角度看mysql、memcached、memcachedb的区别和特点,当然它们肯定不只这点区别。
mc因为是非持久存储的,所以它的定位就是缓存。
而MemcacheDB不是用来做缓存的,它是和mysql同个层次的东西。不一样的是,MemcacheDB性能要比mysql高,而mysql检索功能比MemcacheDB强。如果非要从缓存的角度看的话,那mc就是缓解mysql读压力,而mcdb则是缓解mysql写压力。
特点:
高性能的key-value的读/写
高可靠的持久化存储与交易
高性能的数据存储与复制
Memcahce协议
支持memcahce命令
get(also mutiple get)
set,add,replace
append/prepend
incr,decr,
delete
stats
私用命令:
rget
db_checkpoint
db_archive
rep_set_priority
stats rep
stats repmgr
stats repms
安装:
Dependencies
============
Before deploying Memcachedb, make sure that following packages installed:
Berkeley DB 4.7 or later
-------------------------
http://www.oracle.com/database/berkeley-db/db/index.html
How to install BerkekeyDB:
$tar xvzf db-4.7.25.tar.gz
$cd db-4.7.25/
$cd build_unix/
$../dist/configure
$make
$sudo make install
libevent 1.3e or later
-------------------------
http://monkey.org/~provos/libevent/
How to install libevent:
$tar xvzf libevent-1.3e.tar.gz
$cd libevent-1.3e
$./configure
$make
$sudo make install
Load .so file by add two line in /etc/ld.so.conf:
/usr/local/lib
/usr/local/BerkeleyDB.4.7/lib
Then, run 'ldconfig'.
Installation
============
$tar xvzf memcachedb-X.Y.Z.tar.gz
$cd memcachedb-X.Y.Z
$./configure --enable-threads
$make
$sudo make install
Getting Started
===============
use "-h" option to get started.
Running Examples:
1. run as a single daemon
memcachedb -p21201 -d -r -H /data1/21201 -N -v >/data1/21201.log 2>&1
2. run as a replicated group
start a master (read&write):
memcachedb -p21201 -d -r -H /data1/21201 -N -R 127.0.0.1:31201 -M -n 2 -v >/data1/21201.log 2>&1
then, start a replcas (read-only):
memcachedb -p21202 -d -r -H /data1/21202 -N -R 127.0.0.1:31202 -O 127.0.0.1:31201 -S -n 2 -v >/data1/21202.log 2>&1
Have fun :)
使用:
1.单机模式
memcachedb -u root -p 21201 -d -r -H /data/ 21201 / -v >/data/ 21201 .log 2 >& 1
memcachedb -u root -p 21201 -d -r -H /data/21201/ -v >/data/21201.log 2>&1
2.主从模式
从服务器,主从模式-R是必须设置的。
memcachedb -p 21210 -d -r -u root -H /data/21210_m -N -R 127.0.0.1:31210 -M
主服务器,用31210来同步数据
memcachedb -p 21211 -d -r -u root -H /data/21211_from_local_21210 -N -R 127.0.0.1:31211 -O 127.0.0.1:31210 -S
从服务器,主从模式-R是必须设置的。
测试是否同步
[root @srv willko]# telnet 127.0 . 0.1 21210
Trying 127.0 . 0.1 ...
Connected to 127.0 . 0.1 .
Escape character is '^]' .
set yy 0 0 4
yyyy
STORED
get yy
VALUE yy 0 4
yyyy
END
[root@srv willko]# telnet 127.0.0.1 21210
Trying 127.0.0.1...
Connected to 127.0.0.1.
Escape character is '^]'.
set yy 0 0 4
yyyy
STORED
get yy
VALUE yy 0 4
yyyy
END