`
zhaohaolin
  • 浏览: 1003457 次
  • 性别: Icon_minigender_1
  • 来自: 杭州
社区版块
存档分类
最新评论

memcachedb介绍、编译以及安装【转】

阅读更多

memcachedb 故名思义就是 memcached  + bdb ,是基于memcached Socket层和berkeley-db 存储层结构的实现, 是新浪互动社区技术团队2007年的一项重大的技术成果,现在应用于新浪互动社区多个产品线中,其中包括新浪博客等重头产品。能够实现任意memcache api的调用、数据实时落地以及主辅实时备份。

协议:New BSD License
作者:stvchu, gary.caokai, forever.sky81
团队:新浪互动社区事业部──博客产品
项目主页:http://memcachedb.org/

为什么选择memcached

为什么要选择memcachedb:没有什么特殊的原因,我们有最好的理由就是,在做到最大不牺牲数据读、写性能的前提下,我们能够让您原来存储在 memcache里的数据不再遭受系统宕机或者系统掉电而丢失,即使服务器电源爆炸了,只要硬盘还能够正常工作,换到另外一台服务器上,您的数据依然安然 无恙地在硬盘上。

性能的担忧:我们做过小数据测试,小数据(几十个字节)数据的读写,每秒钟并发能够维持在5000+(单块146Scis硬盘,CPU和内存配置几乎可以忽略因为这不是性能瓶颈)。基本上满足所有互联网高效存储的应用。

应用场合:需要频繁读写的小数据。例如数字类服务就像点击数,需要频繁写入小数据的例如评论系统,需要记录用户状态的例如在线人数以及在线用户等 等。当然,如果您想用来存储单笔超过10K以上的数据,例如新闻或者文章或者论坛帖子也可以,但是我们没有尝试过,如果您真的用来这样子玩了,可以反馈给 我们。

数据备份&&读写分离:memcachedb支持主辅实时无差异同步,配置主服务和辅服务仅仅需要很短的一条启动命令。当然,您也可以利用这一便利特性来实现读写分离,那样子会让您的系统更加的高效。

稳定性:memcachedb目前被应用于新浪互动社区多个产品线中,具有钢铁般的品质,Sina出品,品质毋庸置疑。

编译以及安装

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

分享到:
评论

相关推荐

    Ubuntu 9.04中安装Memcachedb

    在Ubuntu 9.04中安装...综上所述,安装Memcachedb到Ubuntu 9.04系统涉及对相关依赖库的安装和配置,以及对Memcachedb本身的编译安装。理解Memcachedb的工作原理及性能特点,有助于评估其是否适合特定的项目需求。

    memcachedb 手册

    这份手册详细介绍了 `memcachedb` 的安装、配置、使用以及维护等各个方面,旨在帮助用户更好地理解和操作这个工具。 1. **系统需求与安装** - `memcachedb` 需要在支持 `memcached` 的操作系统上运行,如 Linux、...

    memcachedb-1.2.0.tar.gz

    8. **安装与配置**:解压"memcachedb-1.2.0.tar.gz"后,用户可以按照常规的Unix/Linux软件编译流程进行安装,包括configure、make以及make install步骤,同时还需要根据实际需求配置相关参数。 9. **性能优化**:在...

    cpp-分布式缓存服务器memcachedb

    在提供的`memcachedb-master`压缩包中,包含了源代码和其他相关资源,可以用于编译、安装和测试Memcachedb。通过深入研究源代码,开发者可以更好地理解其内部工作原理,并可能进行定制化的修改和扩展。 总结来说,...

    江苏电信智慧城市统一门户Cache模型V1.0.docx

    首先,需要下载并解压Memcached的源代码,然后执行编译和安装命令。安装完成后,通过系统服务管理工具(如systemd)设置Memcached为开机启动,并进行必要的配置调整,如设置监听端口、最大内存限制等。 在实际应用...

    Memcached原理和使用详解.docx

    * 安装Memcached:可以使用rpm、apt-get或源码编译安装 * 使用Memcached:可以使用telnet或Memcached客户端工具连接 Memcached服务器 Memcached的优点: * 高性能:Memcached可以处理高并发请求,提高Web应用的...

    Memcached 原理和使用详解

    3. 编译并安装,执行`make && make install`。 4. 启动Memcached服务,通常使用`memcached -d`命令。 5. 配置客户端应用程序以连接到Memcached服务,这需要使用特定语言的客户端库。 **使用技巧** 1. **键值设置...

    Redis 实战

    2. **编译安装**:解压源码包后,在终端中运行相应的编译安装命令。 3. **配置Redis**:编辑`redis.conf`文件来设置所需的参数,例如端口号、最大内存限制等。 ##### 4.2 基本命令使用 Redis提供了丰富的命令集,...

    redis实战 pdf

    - **安装Redis**:安装Redis通常包括下载源代码包、编译安装等步骤。对于不同的操作系统,具体的安装过程会有所不同。 - **配置Redis**:主要包括配置文件的编辑、端口设置、密码认证等。 - **操作数据库**:通过...

    《Redis实战》电子书

    - **安装Redis**:详细步骤指导读者如何下载、编译和安装Redis。 - **配置Redis**:包括配置文件的修改,启动参数的设置,安全配置等。 - **操作数据库**:介绍Redis的命令行工具以及如何通过命令行与Redis数据库...

    memcached缓存

    2. **Memcachedb**:Memcachedb是在memcached基础上增加了持久化功能的版本,但在性能上略逊于纯粹的memcached。 **六、优化与注意事项** 1. **内存分配**:合理预估内存需求,避免过度分配导致资源浪费,同时也要...

    Memcached_原理和使用详解

    - **安装**:通常通过编译源码或使用包管理器在不同的操作系统上安装Memcached。 - **配置**:配置服务器的端口、最大内存限制、监听地址等参数。 - **启动与停止**:启动服务后,客户端即可连接并使用Memcached。 -...

    Redis实战 中文

    安装Redis通常包括以下几个步骤:下载源码包、编译安装、配置环境变量等。对于Linux系统而言,还可以通过包管理器如apt-get或yum来进行安装。 ##### 1.4.2 配置Redis 配置Redis主要包括设置监听地址、端口、密码、...

    Redis实战

    通过以上内容的学习,我们不仅了解了Redis的基础知识和特性,还掌握了如何安装配置Redis以及如何使用其提供的各种数据类型和命令来进行高效的开发工作。这些知识对于从事Web开发、数据库管理和运维工作的技术人员来...

    Redis实战《红丸出品》

    - **安装Redis**:介绍了如何在不同的操作系统上安装Redis,包括下载、编译、配置等步骤。 - **配置Redis**:讲解了如何配置Redis服务端的各项参数,以便更好地适应特定的应用环境。 - **操作数据库**:介绍了Redis...

    redis实战指导

    2. 编译并安装。 3. 配置启动脚本。 ##### 1.4.2 配置Redis Redis的配置文件包含了各种参数设置,包括监听地址、端口、密码认证、持久化方式等。可以通过修改配置文件来调整Redis的行为。 ##### 1.4.3 操作数据库 ...

Global site tag (gtag.js) - Google Analytics