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

linux安装memcachedb服务【转】

阅读更多

memcached是一个不错的分布式内存缓存系统,并且提供丰富的客户端api,有perl,php,java的等等等等。。。

要编译安装memcached,你的系统得先安装libevent,libevent的下载地址是:http://monkey.org/~provos/libevent/
我下载的版本是:
libevent-1.4.9-stable.tar.gz
memcached-1.2.6.tar.gz

先来编译libevent,

1
./
configure --prefix
=/
usr/
local/
libevent &&
 make
 &&
 make
 install

 

好了,现在来搞memcached

1
2
3
4
./
configure --prefix
=/
usr/
local/
memcached-1.2.6 --with-libevent
=/
usr/
local/
libevent
make
 &&
 make
 install

ln
 -s
 /
usr/
local/
memcached-1.2.6 /
usr/
local/
memcached
ln
 -s
 /
usr/
local/
libevent/
lib/
libevent-1.4
.so.2 /
usr/
lib

下面来安装php对于memcached的扩展
从这里下载: pecl.php.net/package/memcache

我下载的版本是:3.0.4 beta版本,如果是用在生产上,还是建议下载稳定版本。
解压缩后进入目录,执行如下命令:

1
2
3
4
/
usr/
local/
php/
bin/
phpize
./
configure --prefix
=/
usr/
local/
memcached_phpclient3.0.4 --enable-memcache
 --with-php-config
=/
usr/
local/
php/
bin/
php-config --with-zlib-dir
=/
usr/
local/
zlib/

make

make
 install

安装完成后,会显示: Installing shared extensions: /usr/local/php-5.2.8//lib/php/extensions/no-debug-non-zts-20060613/

接下来修改php.ini
首先找到extension_dir,默认的应该是:extension_dir = “./”
现在修改成:extension_dir = “/usr/local/php-5.2.8//lib/php/extensions/no-debug-non-zts-20060613/”
然后再找到Dynamic Extensions,在下面加上:
extension=memcache.so

然后重启apache,编写一个phpinfo()的网页,你会看到如下内容,好了,这就是说memcached的php client咱们已经安装成功了。
memcache
memcache support enabled
Version 3.0.4
Revision $Revision: 1.83.2.36 $

至于怎么用,我会在后面来给出示例,要是您等不及也可以去google上搜索去,一搜哎呀妈呀一大堆啊,下面给出几个可以参考的网址:

www.danga.com/memcached/

code.google.com/p/memcached/wiki/Clients

www.ccvita.com/257.html

cn2.php.net/manual/en/memcache.installation.php

好了,还没完呢,咱们接着来启动memcached的server端吧。
其实启动memcached和启动mysql的脚本有些大同小异的意思,都是加上什么端口儿啊,用户啊什么的一大堆的零七八碎儿的参数呗。。。

1
/
usr/
local/
memcached/
bin/
memcached -d
 -m
 10
 -u
 root -l
 192.168.0.12 -p
 12000
 -c
 256
 -P
 /
tmp/
memcached.pid

-d选项是启动一个守护进程,
-m是分配给Memcache使用的内存数量,单位是MB,我这里是10MB,
-u是运行Memcache的用户,我这里是root,
-l是监听的服务器IP地址,如果有多个地址的话,我这里指定了服务器的IP地址192.168.0.12,
-p是设置Memcache监听的端口,我这里设置了12000,最好是1024以上的端口,
-c选项是最大运行的并发连接数,默认是1024,我这里设置了256,按照你服务器的负载量来设定,
-P是设置保存Memcache的pid文件,我这里是保存在 /tmp/memcached.pid,

2.如果要结束Memcache进程,执行:

1
kill
 `
cat
 /
tmp/
memcached.pid`

也可以启动多个守护进程,不过端口不能重复。

现在再来telnet 192.168.0.12 12000 看看可以telnet上去了吧。。。嘿嘿。。。
成了,差不多就这么着了。。。

现在可以在应用中将一部分数据保存在内存中了,但是如果是服务器突然宕机了,或者是说服务不知怎么的就抽了疯似的终止了,那么保存在memcached中的数据还在么?
废tm话啊,肯定tmd不在了。。。

那怎么办?所以memcachedb出来了,这个是由新浪的研发团队贡献的开源项目,且听下回tmd分解。。。

紧接前一篇:linux安装memcached服务

—– memcachedb 的分割线 —–
memcachedb 的介绍可以看这里:http://memcachedb.org/
我下载的版本是:memcachedb-1.2.1-beta.tar.gz
memcachedb的安装需要libevent,Berkeley Db,memcachedb这三个dd,
libevent这个就不多说了,如果不知道怎么安装看这里有介绍libevent的安装

 

好了,现在从http://www.oracle.com/technology/software/products/berkeley-db/index.html 来下载,
我下载的版本是:db-4.7.25.tar.gz
解压缩并进行编译安装:

1
2
3
4
cd
 db-4.7.25/
build_unix/

../
dist/
configure
make

make
 install

然后db就被安装到了:/usr/local/BerkeleyDB.4.7/

编辑 /etc/ld.so.conf 添加
/usr/local/BerkeleyDB.4.7/lib

然后执行:

1
ldconfig

好了,前菜ok了,现在开始安装memcachedb了。。。
还是先得解压缩。。。这不废话么。。。

1
2
3
./
configure --prefix
=/
usr/
local/
memcachedb-1.2.1 --with-libevent
=/
usr/
local/
libevent --enable-threads

make
 &&
 make
 install

ln
 -s
 /
usr/
local/
memcachedb-1.2.1 /
usr/
local/
memcachedb

好啦。。。接下来就该启动memcachedb啦。。。
主程序在:/usr/local/memcachedb/bin/memcachedb

第一种,读写合并模式,即不做辅拷贝,即读又写,不做冗余备份

1
2
/
usr/
local/
memcachedb/
bin/
memcachedb -p21211
 -d
 -r
 -u
 root -H
 /
server/
mdb_11211 -N

-H
 参数是制定DB数据文件存放的位置

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

1
/
usr/
local/
memcachedb/
bin/
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端口对外提供数据同步服务

1
/
usr/
local/
memcachedb/
bin/
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

好了。。。现在就OK了。。。至于测试程序,忽略了。。。
可以参考的链接:

blog.csdn.net/simonlsy/archive/2008/01/07/2027940.aspx

www.tbqu.com/post/182.html

分享到:
评论

相关推荐

    memcachedb 手册

    - `memcachedb` 需要在支持 `memcached` 的操作系统上运行,如 Linux、Unix 或 macOS。 - 安装过程中可能需要先安装依赖库,如 Berkeley DB(通常称为 BDB)。 - 通过源码编译或使用包管理器(如 apt-get 或 yum...

    memcachedb-1.2.0.tar.gz

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

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

    在Linux系统中,安装Memcached通常包括编译源码和配置服务两部分。首先,需要下载并解压Memcached的源代码,然后执行编译和安装命令。安装完成后,通过系统服务管理工具(如systemd)设置Memcached为开机启动,并...

    Memcached 原理和使用详解

    2. 配置编译环境,例如在Linux环境下,使用`./configure`命令。 3. 编译并安装,执行`make && make install`。 4. 启动Memcached服务,通常使用`memcached -d`命令。 5. 配置客户端应用程序以连接到Memcached服务,...

    memcached缓存

    1. **安装**:在大多数Linux发行版中,可以使用包管理器(如apt-get或yum)进行安装。在Windows上,可以下载预编译的二进制包。 2. **启动与停止**:启动memcached服务通常使用命令行工具,例如`memcached -d -p ...

    Redis实战.pdf

    - 在Linux环境下,可以通过包管理器(如apt-get或yum)安装Redis服务。 - 在Windows环境下,则需要下载官方提供的Windows版本进行安装。 - 安装完成后,启动Redis服务。 ##### 1.4.2 配置Redis - Redis的配置文件...

    Redis实战 中文

    对于Linux系统而言,还可以通过包管理器如apt-get或yum来进行安装。 ##### 1.4.2 配置Redis 配置Redis主要包括设置监听地址、端口、密码、持久化方式等内容。可以通过编辑`redis.conf`配置文件来完成这些设置。 ##...

    一切为了分布式——2009年Web后端技术回顾.pdf

    App Engine模式下的存储服务不再仅仅是软件,而是变成了分布式服务,包括MySQL、Memcached和分布式键值存储等。这促进了分布式存储技术的进一步发展。 使用App Engine,开发者无需关心扩展和切分问题,系统可以自动...

    libevent-1.3e.tar.gz

    libevent是一个事件触发的网络库,适用于windows、linux、bsd等多种平台,内部使用select、epoll、kqueue等系统调用管理事件机制。著名分布式缓存软件memcached也是libevent based,而且libevent在使用上可以做到跨...

    MongoDB 教程.docx

    8. **易于安装**:MongoDB 在不同操作系统上都有简单的安装包,包括 Windows、Linux 和 macOS 等。 **MongoDB 的优缺点** 优点: - **高可扩展性**:可通过添加更多节点轻松扩展性能。 - **分布式计算**:适合大...

    redis实战 完整版

    ##### 1.1.3 memcachedb - **特点**: 结合了memcached的高性能和数据库的持久化特性。 - **应用场景**: 可以作为高速缓存层,也可以用作持久化存储。 ##### 1.1.4 Cassandra - **特点**: 分布式NoSQL数据库系统,...

Global site tag (gtag.js) - Google Analytics