Memcached简介与安装

什么是Memcached?

Memcached是高性能的分布式内存缓存服务器,可以通过缓存数据库的查询结果,减少数据库访问次数,以提高动态web应用的速度和可扩展性。

为什么要用Memcached?

随着互联网的发展,传统的关系型数据库(如MySQL,Oracle)开始出现瓶颈,很多方面不能满足我们的要求。例如:

1:对数据库的高并发读写。

关系型数据库本身就是个庞然大物,处理过程非常复杂和耗时(如解析SQL语句,事务处理等),如果对关系型数据库进行高并发读写(每秒上万次的访问),那么关系型数据库是不能承受的。

2:对海量数据的处理了。

对于大型SNS网站,每天有上千万条的数据产生(如微博)。对于关系型数据库,如果在一个有上亿条数据的数据表中查找某条记录,效率会低的难以忍受。

使用Memcached能够很好的解决上述问题。由于Memcached的数据是保存在内存中的,这也是Memcached如此高效快速的原因。

怎样理解Memcached?

可以简单的理解成,Memcached相当于是一个只有两个字段的数据库

#名称类型
1keyvarchar
2valuetext

Memcached的特点

1。协议简单。

2。基于libevent的事件处理。

3。内置内存存储方式。

4。采用不互相通信的分布式。

Memcached的使用场景

1。非持久化存储:对数据存储要求不高

由于Memcached中的数据是保存在内存中的,服务器Done掉以后,数据就会被清空,要把Memcached当做缓存去使用,而不要把Memcached当做真正的数据库去使用。

2。分布式存储:不适合单机使用

Memcached对内存的消耗相当大,如果非要使用Memcached,建议将Memcached装到另外一台机器上,单独作用缓存系统,而不建议,将其与数据库装到一台服务器上。

3。key/value存储:格式简单,不支持List,Array数据格式。

Memcached的安装

Memcached的安装有两种方式:

1。编译安装,首先安装依赖库libevent,然后安装Memcached服务器
2。使用依赖管理工具,例如centos中的yum,Ubuntu中的apt-get

注意:Memcached是Memcache的升级版本,操作,速度以及稳定性都有了很大的提升。

1。去http://libevent.org/,下载安装依赖库libevent,安装方法如下所示:

wget https://github.com/libevent/libevent/releases/download/release-2.0.22-stable/libevent-2.0.22-stable.tar.gz
tar -zxvf libevent-2.0.22-stable.tar.gz 
cd libevent-2.0.22-stable
./configure --prefix=/usr/local
make
sudo make install

2。libevent安装完毕,开始安装Memcached服务器(http://memcached.org/downloads),安装过程如下:

wget http://memcached.org/files/memcached-1.4.31.tar.gz
tar -zxvf memcached-1.4.31.tar.gz 
./configure --prefix=/usr/local/memcached
make
sudo make install

3。Memcached安装完毕,使用以下命令启动Memcached服务器:
启动Memcached服务器

memcached -d -m 128 -u root -p 11211

启动服务时如果出现 error while loading shared libraries: libevent-2.0.so.5: cannot open shared object file: No such file or directory

>whereis libevent-2.0.so.5
libevent-2.0.so: /usr/local/lib/libevent-2.0.so.5
> ldd memcached
    linux-gate.so.1 =>  (0x00c75000)
    libevent-2.0.so.5 => not found (没有找到该文件)
    librt.so.1 => /lib/librt.so.1 (0x001bd000)
    libpthread.so.0 => /lib/libpthread.so.0 (0x00a26000)
    libc.so.6 => /lib/libc.so.6 (0x003b5000)
    /lib/ld-linux.so.2 (0x0020d000)

> LD_DEBUG=libs ./memcached -v
找到默认路径 /usr/lib/
>sudo ln -s /usr/local/lib/libevent-2.0.so.5  /usr/lib/libevent-2.0.so.5

既给现有的文件做个软连接过去

然后在尝试启动:

memcached -d -m 128 -u root -p 11211

查看Memcached是否启动成功

$ ps -ef | grep memcached 
root      1724     1  0 16:14 ?        00:00:00 memcached -d -m 128 -u root -p 11211
root      1774 19804  0 16:15 pts/0    00:00:00 grep memcached

当然也可以用yum install memcached一条命令安装。


补充:

Memcached常用启动项及其描述:

选项描述
-d以守护程序(daemon)方式运行Memcached(指从终端窗口退出后程序仍可以进行)
-m设置Memcached可以使用的内存大小,单位为MB
-l设置监听的IP地址,如果是本机的话,通常不设置此参数
-p设置监听的端口,默认为11211,也可以不设置此参数
-u指定用户,如果当前为root,需要此参数指定用户

除了以上5个常用的启动项外,还有其他很多选项,通过以下命令可了解更多的启动项信息:

$ memcached -h
  • 2
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值