Memcached
定义:
是一个高性能的分布式内存对象缓存系统,它通过在内存中缓存数据和对象来减少读取数据库的次数。
功能:
通过缓存数据库的查询结果,减少数据库的访问次数,以提高动态WEB应用的速度,提高可扩展性守护进程是用C写的,但是客户端可以用任何语言来编写,并通过
memcached
协议与守护进程通信。但是它并不提供冗余(例如复制其Hashmap
条目),当某个服务器Server
停止运行或崩溃,所有存放在Server
键/值对都将丢失**
分为两个过程:memecached服务器端的安装和memcache客户端的安装
- 所谓服务器端的安装就是在服务器(
Linux,windows
)上安装Memcache
实现数据的存储 - 所谓客户端的安装就是指
PHP
(或者其他程序),去使用服务器端的Memcached
提供的函数,需要PHP
添加扩展
memcached的安装
安装步骤:
yum -y install memcached
启动memcached :
/usr/bin/memcached -b -l 127.0.0.1 -p 11211 -m 150 -u root
注:-b 守护进程模式(退出终端窗口之后使程序还在运行),-l 指定IP地址127.0.0.1 ,-p 指定端口号11211,-m 为memcached
分配多少内存(单位:M),-u 指定使用哪个用户启动memcached
查看memcached是否在运行:
[root@localhost /]# ps -ef | grep memcached
//或
[root@localhost /]# pstree -p | grep memcached
显示如下:
root 627 507 0 15:31 pts/4 00:00:00 grep memcached
root 20177 1 0 Jul19 ? 00:00:37 /usr/bin/memcached -b -l 127.0.0.1 -p 11211 -m 150 -u root
如果能够看到存在memcached进程,那就说明我们的 memcached 服务端已经安装成功了。
php安装memcache扩展
[root@localhost /]# cd /usr/local/src #我的所有源码包习惯放在该目录下
下载源码包:
[root@localhost src]# wget http://pecl.php.net/get/memcache-2.2.4.tgz
解压:
[root@localhost src]# tar -zxvf memcache-2.2.4.tgz
编译与安装:
[root@localhost src]# cd memcache-2.2.4/
[root@localhost memcache-2.2.4]# phpize && ./configure --with-php-config=/usr/local/php/bin/php-config --enable-memcache && make
[root@localhost memcache-2.2.4]# cp modules/memcache.so /usr/local/php/lib/php/extensions/no-debug-non-zts-20131226/
修改php配置:
找到php.ini位置
[root@localhost memcache-2.2.4]# whereis php.ini
在 php.ini 中添加以下内容:
extension=memcache.so
重启php-fpm:
service php-fpm restart
检查是否安装成功:
一:在linux上敲入命令查看是否有memcache扩展模块,如果有说明安装成功:
[root@localhost memcache-2.2.4] php -m
二:通过phpinfo()查看是否安装memcache扩展模块
PHP操作memcache
<?php
$m = new Memcache();
$m->connect("127.0.0.1",11211);//连接
print_r($m);
$m->set('name','zhangsan',3600);
echo $m->get('name')."<br />";//读取缓存值
echo $m->delete('name')."<br />";//删除缓存值