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

memcachedb应用指南一【转】

阅读更多

memcachedb应用指南一:为什么选择memcachedb

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

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

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

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

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

 

memcachedb应用指南二:编译以及安装

memcachedbmemcache 一样,网络socket数据处理依赖于libevent ,所以,在安装之前需要下载三个安装包,即libeventBerkeley 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

分享到:
评论

相关推荐

    《Redis实战》红丸出品.pdf

    ### Redis实战:深入理解与应用 ...通过这些详细的介绍,《Redis实战》不仅是一本学习Redis的入门书籍,也是一部深度实践指南,帮助读者全面掌握Redis的特性和应用场景,提升在实际项目中的应用能力。

    Redis实战 中文 .pdf

    在本书中,作者首先对Key-Value存储系统进行了简介,介绍了包括Voldemort、Dynamo、memcachedb、Cassandra、memcached和Hypertable在内的多种存储系统,让读者对这一领域有一个宏观的认识。接着,作者分析了为何在...

    Redis实战.pdf

    **描述**:介绍了一本由红丸编写的实战指南,旨在帮助读者深入理解Redis的使用方法及其在实际场景中的应用。 Redis是一种开源的、高性能的键值存储系统,以其高速读写速度而著称,常被用于缓存、消息队列等多种场景...

    Redis实战《红丸出品》

    ### Redis实战《红丸出品》知识点详析 ...总之,《Redis实战》不仅是一本技术书籍,更是Redis应用的实战指南,从理论到实践,全面覆盖了Redis的各个方面,是IT从业者学习和掌握Redis不可多得的资源。

    《Redis实战》红丸出品

    - **memcachedb**: 结合了memcached的高性能和传统数据库的持久化特性,提供了一种高性能的键值存储解决方案。 - **Cassandra**: 一个分布式NoSQL数据库,最初由Facebook开发,后捐赠给Apache基金会。Cassandra以其...

    《Redis实战》电子书

    通过以上介绍,我们可以看到Redis不仅仅是一个简单的键值存储系统,它还拥有丰富的数据类型和操作命令,能够满足各种复杂的应用场景需求。掌握这些知识点,将有助于更好地利用Redis的强大功能来优化应用程序的性能。

    Redis中文参考.pdf

    总体来看,Redis中文参考文档为初学者提供了一个系统的入门教程,并为经验丰富的开发者提供了深入的命令和高级功能的使用指南。由于Redis具有高性能、高可用性和易于使用的特性,它在互联网应用、云服务、大数据处理...

    redis实战红丸出品

    Key-Value存储系统是一种数据存储模型,通过键值对的方式存储数据,常见的系统有Voldemort、Dynamo、memcached、Cassandra、memcachedb、Hypertable等。这些系统适用于大规模的互联网应用、云存储以及具有高性能要求...

    Redis实战电子书

    - **大规模的互联网应用**:随着互联网流量的激增,传统的关系型数据库难以满足高性能需求,Key-Value Store能够有效解决这一问题。 - **云存储**:在云计算环境中,Key-Value Store提供了灵活的扩展性和数据分布...

Global site tag (gtag.js) - Google Analytics