您的位置:首页 > 数据库 > Memcache

Memcachedb 分布式持久存储系统

2009-10-28 17:11 483 查看
      对于项目的需要是多样化的,应用的解决方案也就是应运而生,Memcached 分布式缓存系统大家都知道,是完全基本于内存缓存的,但数据并不能持久存储,但使用 Memcached + TTServer 配合就可以达到持久缓存存储系统。在早一段时间听说国内新浪网开发了一套基于 memcahced 的分布式持久存储系统:Memcachedb。今天尝试了一下,果然不错,操作简易,功能强大。

一、Memcached 是什么
Memcachedb = memcached + Berkeley DB

Memcachedb 是一个由新浪网的开发人员开放出来的开源项目,支持高并发的分布式持久存储系统,并且完全兼容 memcached 协议。

前端:memcached 的网络层; 后端:Berkeley DB存储。

官方网站:http://www.memcachedb.org

二、Memcached的安装

Memcachedb 跟 memcache 一样,网络socket数据处理依赖于libevent,所以,在安装之前需要下载三个安装包,即 libevent、Berkeley Db以及memcachedb。

1. 安装libevent (V1.3+)

Libevent http://monkey.org/~provos/libevent/

[root@localhost src]# tar zxvf libevent-1.3.tar.gz

[root@localhost src]# cd libevent-1.3

[root@localhost src]# ./configure –prefix=/usr

[root@localhost src]# make

[root@localhost src]# make install

2. 安装 Berkeley Db (V4.7+)

Berkeley Db http://www.oracle.com/technology/software/products/berkeley-db/index.html

[root@localhost src]# tar zxvf db-4.7.25.tar.gz

[root@localhost src]# cd db-4.7.25

[root@localhost db-4.7.25]# cd build_unix/

[root@localhost build_unix]# ../dist/configure

[root@localhost build_unix]# make

[root@localhost build_unix]# make install

#如果没有指定特殊安装路径,编译完成后,需要将Berkeley Db运行库的路径添加到系统配置里面

[root@localhost build_unix]
#
echo "/usr/local/BerkeleyDB.4.7/lib/" >> /etc/ld.so.conf

#重载系统Ld运行库

[root@localhost build_unix]
#
ldconfig

3. 安装 Memcachedb (V1.2.0)

Memcachedb http://code.google.com/p/memcachedb/

[root@localhost src]# tar zxvf memcachedb-1.2.0.tar.gz

[root@localhost src]# cd memcachedb-1.2.0

[root@localhost memcachedb-1.2.0]# ./configure -with-libevent=/usr --enable-threads
//支持线程

[root@localhost memcachedb-1.2.0]# make

[root@localhost memcachedb-1.2.0]# make install

三、启动 Memcachedb deamon 进程

[root@localhost bin]# memcachedb -p21201 -d -r -u root -f 21201.db -H /data1/demo -N -P /data1/logs/21201.pid

memcachedb: error while loading shared libraries: libdb-4.7.so: cannot open shared object file: No such file or directory

报错:Berkeley Db 文件找不到,将其文件路径加入就行

[root@localhost bin]# export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/usr/local/BerkeleyDB.4.7/lib

[root@localhost bin]# memcachedb -p21201 -d  -r -u root -f 21201.db -H /data1/demo -N -P /data1/logs/21201.pid

四、命令行操作

[root@localhost bin]# telnet 127.0.0.1 21201

Trying 127.0.0.1...

Connected to localhost.localdomain (127.0.0.1).

Escape character is '^]'.

set wan 0 0 4   

1234

STORED

get wan

VALUE wan 0 4

1234

END

delete wan

DELETED

五、查看 Memcachedb 进程

[root@localhost memcachedb-1.2.0]# ps aux | grep memcachedb

root     19914  0.0  6.2 135864 16084 ?        Ssl  15:59   0:00 memcachedb -p21201 -d -r -u root -f 21201.db -H /data1/demo -N -P /data1/logs/21201.pid

root     20226  0.0  0.2   3916   668 pts/1    R+   17:08   0:00 grep memcachedb

六、结束 Memcachedb 进程

[root@localhost memcachedb-1.2.0]# kill `cat /data1/logs/21201.pid `

For more: http://www.memcachedb.org
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息