Memcache缓存(一)

什么是Memcache?

是分布式高速缓存系统;
分布式:可以在多台服务器上同时安装Memcache服务,达到一个很好的集群效果;
高速:Memcache所有的数据都是维护在内存中的;
它的读取速度比我们存储在硬盘中的数据的读取速度快很多;

Memcache有什么用?

当我们的应用访问量特别大的时候,我们数据库的压力也会特别大,Memcache的出现可以在应用和数据库当中增加一个缓冲层;
我们之前已经在数据库读取过的数据,当第二次再访问的时候
我们可以直接访问Memcache去读取这些数据,从而减轻Mysql数据库的压力;

怎样理解Memcache?

《Memcache缓存(一)》

Memcache是只有一张表的数据库,这张表有两个字段,分别是主键key和value,value中就是我们保存的数据,key就是这份数据的id,用来保证我们在查找时的唯一性,在脑海中要生成一个简单的模型;

Memcache使用场景

1、非持久化存储:对数据存储要求不高;
也就是说如果这份数据丢失了也不会对我的应用造成太大的影响;
2、分布式存储:不适合单机使用;
Memcache对于内存的消耗很大,Memcache和数据库最好是分两台服务器放置;
3、Memcache是key/value存储:格式简单,不支持List、Array数据格式;

安装说明

我们在Linux系统上安装软件一般有两种方法:
1、编译安装(Libevent Memcache)
我们在安装Memcache的时候是需要先安装Libevent这个扩展,编译安装的好处是你可以在安装的时候进行一些自定义的设置,比如我们可以指定软件安装到哪里;相对而言不太好的地方是,假如你在编译的时候出现了一些错误,而你又对Linux了解不是特别多的情况下,处理错误的时候会比较困难;
2、使用Linux自带依赖管理工具
CentOS的yum或者是Ubuntu的apt-get;

注意:

Memcache有两个版本分别是Memcache和Memcached
推荐使用Memcached,它是Memcache的升级版本,比Memcache有了更多的升级操作并且速度和稳定性上都比Memcache要好很多;

Memcached服务端安装

首先第一步使用依赖管理工具安装Memcached

yum install memcached
//选择y安装完成
Is this ok [y/N]: y

启动Memcached

//-d(守护进程的模式去启动它,当你从终端窗口退出后这个程序依然可以进行)
//-l(IP地址,这里用本机的IP地址127.0.0.1)
//-p(端口号,11211)
//-m(为Memcached分配多少的内存以M为单位,150)
//-u(以哪个用户的身份启动Memcached,这里直接使用超级管理员root身份)
/usr/bin/memcached -d -l 127.0.0.1 -p 11211 -m 150 -u root

查看是否正常启动

ps -ef | grep memcach

客户端的安装

1、安装Libmemcached

下载Libmemcached

wget http://launchpad.Net/libmemcached/1.0/1.0.10/+download/libmemcached-1.0.10.tar.gz

解压Libmemcached

tar zxvf libmemcached-1.0.10.tar.gz

进入到解压包目录

cd libmemcached-1.0.10

配置config到指定目录

./configure --prefix=/usr/lib/libmemcached

make命令编译安装

make && make install

编译安装过程大概需要5分钟左右

2、为PHP安装memcached扩展

下载memcached

wget http://pecl.php.net/get/memcached-2.2.0.tgz

解压memcached

tar zxvf memcached-2.2.0.tgz

进入到解压包目录

cd memcached-2.2.0

Linux下用phpize命令为PHP安装扩展

phpize

再列出文件下所有文件就会多出config配置文件,然后运行该文件

./configure

这个时候提示错误找不到php-config文件

《Memcache缓存(一)》

手动帮它指引一下php-cofing文件地址,php-cofing文件地址根据各自安装的目录填写,如果不知道的情况下,在服务器根目录使用查找命令

find -name php-config

手动帮它指引一下php-cofing文件地址

./configure --with-php-config=/usr/local/php/bin/php-config

回车后发现又报了一个错误,找不到我们刚才安装的Libmemcached

《Memcache缓存(一)》

这时再告诉它我们刚才安装的Libmemcached的路径

./configure --with-php-config=/usr/local/php/bin/php-config --with-libmemcached-dir=/usr/lib/libmemcached

回车后发现又报错了

《Memcache缓存(一)》

说我们不支持sasl这个功能,按照它给的指引运行下面的命令

./configure --with-php-config=/usr/local/php/bin/php-config --with-libmemcached-dir=/usr/lib/libmemcached --disable-memcached-sasl

回车设置成功
然后先make编译一下

make

提示我们已经成功了,最好不要忘了测试一下
这里我们直接编译安装

make install

提示我们扩展已经安装完成并且告诉我们了扩展目录

《Memcache缓存(一)》

接下来我们需要在PHP扩展文件中把这个扩展加进来,首先编辑一下php.ini的配置文件,把这个扩展加进去

vim /usr/local/php/etc/php.ini

打开配置文件后直接shift+g跳到文件最后一行,把扩展加上

extension=memcached.so

然后保存退出
更改完php配置文件后要重启服务器

lnmp restart

完成后查看一下php扩展

php -m

然后查看一下有没有memcached这个扩展

php -m | grep memcached

《Memcache缓存(一)》

到这一步就说明我们已经为PHP安装好了memcached扩展

接下来我们要看一下我们到底可不可以使用memcached扩展
去连接memcache

    原文作者:从O开始
    原文地址: https://www.jianshu.com/p/e406e44cde90
    本文转自网络文章,转载此文章仅为分享知识,如有侵权,请联系博主进行删除。
点赞