Memcachedb持久化缓存服务安装

依赖关系
部署Memcachedb之前,请确保以下软件包已安装:
安装BerkekeyDB:
Berkeley DB 4.7或更高版本
从<http://www.oracle.com/database/berkeley-db/db/index.html 下载>

wget http://download.oracle.com/otn/berkeley-db/db-6.0.20.tar.gz
tar -zxvf db-6.0.20.tar.gz
cd db-6.0.20/
cd build_unix/
../dist/configure --prefix=/usr/local/berkeleyDB
make && make install

打开/etc/ld.so.conf文件添加如下两行:

vi /etc/ld.so.conf
/usr/local/lib
/usr/local/BerkeleyDB/lib

然后,运行“ldconfig”。
注意FREEBSD下没有id.so.conf可以加入到环境变量中:

vi /etc/profile
export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/usr/local/lib:/usr/local/BerkeleyDB/lib

安装libevent:
libevent 1.3e或更高版本
从< http://monkey.org/~provos/libevent/ 下载 >

wget https://github.com/downloads/libevent/libevent/libevent-2.0.21-stable.tar.gz
tar -zxvf libevent-2.0.21-stable.tar.gz
cd libevent-2.0.21-stable/
./configure --prefix=/usr/local/libevent
make & make install

安装Memcachedb:
从< https://code.google.com/p/memcachedb/downloads/list 下载 >

wget https://memcachedb.googlecode.com/files/memcachedb-1.2.0.tar.gz
tar xvzf memcachedb-1.2.0.tar.gz
cd memcachedb-1.2.0/
./configure --with-bdb=/usr/local/BerkeleyDB --with-libevent=/usr/local/libevent --enable-threads
make && make install

#如果您要存储的内容的键值的长度和单笔内容的长度有变化,您需要更改一个文件 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就行

测试是否安装成功:

/usr/local/memcachedb/bin/memcachedb -h

启动守护进程
#第一种,读写合并模式,即不做辅拷贝,即读又写,不做冗余备份

memcachedb -p21201 -d -r -u root -H /cloud/memcachedb/data -N -v >/cloud/memcachedb/logs/error.log 2>&1

(普通用户不用加)-u root
#第二种,读写分离/备份模式
#主服务器 192.168.0.1 读写监听 11211 ,同步通过31211的端口完成,不占用繁忙的主服务端口

memcachedb -p21211 -d -r -u root -H /cloud/memcachedb/data -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 /cloud/memcachedb/data -O 192.168.0.1:31211 -R 192.168.0.2:31212 -S

检查是否启动成功:

ps -ef |grep memcachedb

增加到开机启动
编辑 /etc/rc.local增加以下内容:

memcachedb -p21201 -d -r -u root -H /cloud/memcachedb/data -N -v >/cloud/memcachedb/logs/error.log 2>&1

玩得开心:)

未经允许不得转载:SuperMan's blog » Memcachedb持久化缓存服务安装

评论 0

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址