简单介绍:
Memcache缓存数据库:减少数据库压力。高性能的分布式内存缓存服务器,用于动态Web应用,减少I/O,提高web访问速度以减轻数据库负载,以提高动态Web应用的速度、提高可扩展性。利用 Memcached 处理实时数据读写;MySQL是影响性能的最大瓶颈,可以用一台MySQL主库(只写)+多台MySQL辅库(只读)的主辅库集群来解决。另外,访问计数等实时性很强的东西用Memcache做缓存。基于c#语言写的调用libevent库事件来实现。
1. hash表结构:key、value存取方式
2. 工作方式:memcached是以守护程序方式运行一个或多个服务器中,随时会接受客户端(如:PHP)连接或操作。
Linux安装配置
一、Memcached安装
1
2
3
4
5
6
|
wget http:
//memcached
.googlecode.com
/files/memcached-1
.4.10.
tar
.gz
yum
install
libevent libevent-devel
#安装Memcached组件
tar
zxvf memcached-1.4.10.
tar
.gz
cd
memcached-1.4.10
.
/configure
make
&&
make
install
|
查看是否成功安装memcached
1
2
3
|
ls
-al
/usr/local/bin/mem
*
-rwxr-xr-x 1 root root 137986 11?? 12 17:39
/usr/local/bin/memcached
-rwxr-xr-x 1 root root 140179 11?? 12 17:39
/usr/local/bin/memcached-debug
|
二、安装Memcache的PHP扩展
1
2
3
4
5
6
|
wget http:
//pecl
.php.net
/get/memcache-3
.0.6.tgz
tar
zvxf memcache-3.0.6.tgz
cd
memcache-3.0.6
/usr/local/php/bin/phpize
.
/configure
–with-php-config=
/usr/local/php/bin/php-config
make
&&
make
installmemcache模块
|
使php加载memcache模块
1
2
|
vi
/etc/php
.ini
extension=memcache.so
|
三、启动Memcache的服务器端:
1
|
/usr/local/bin/memcached
-d -m 128 -l 192.168.0.10 -p 11211
|
-d选项是启动一个守护进程,
-m是分配给Memcache使用的内存数量,单位是MB
-u是运行Memcache的用户
-l是监听的服务器IP地址
-p是设置Memcache监听的端口,最好是1024以上的端口
-c选项是最大运行的并发连接数,默认是1024,根据你服务器的负载量来设定
-P是设置保存Memcache的pid文件,我这里是保存在 /tmp/memcached.pid,
结束Memcache进程,执行:killall memcached
Windows安装配置:
下载Memcached:http://ishare.iask.sina.com.cn/f/36094281.html
下载5.3php_memcache.dll:http://code.google.com/p/sirius/downloads/detail?name=php_memcache.dll&can=2&q=
一、Memcached和Memcache安装:
1、 下载memcache的windows稳定版,解压放某个盘下面,比如在c:\memcached
2、 CMD页面下输入 ‘c:\memcached\memcached.exe -d install’ #安装memcached到系统服务
3、安装php_memcache.dll,下载对应的php版本
4、加载memcache客户端,在C:\winnt\php.ini 加入一行 ‘extension=php_memcache.dll’
5、启动memcached:
c:\memcached\memcached.exe -d –m 128 –l 127.0.0.1 –p 11211 start #默认端口:11211
二、Memcache环境测试:
1.重新启动Apache,然后查看一下phpinfo,如果有memcache,那么就说明安装成功!
2.也可以运行下面的php文件,如果有输出This is a test!,就表示环境搭建成功。
1
2
3
4
5
6
7
|
< ?php
$mem = new Memcache;
$mem->connect(“127.0.0.1″, 11211);
$mem->
set
(‘key’, ‘This is a
test
!’, 0, 60);
$val = $mem->get(‘key’);
echo
$val;
?>
|
其他测试:telnet 192.168.0.202 11211或phpinfo()
常用命令:status、version、flush_all、quit、get、add、set
本文转自 李振良OK 51CTO博客,原文链接:http://blog.51cto.com/lizhenliang/1290430,如需转载请自行联系原作者