一、简单介绍
Memcache缓存数据库:减少数据库压力。高性能的分布式内存缓存服务器,用于动态Web应用,减少I/O,提高web访问速度以减轻数据库负载,以提高动态Web应用的速度、提高可扩展性。利用 Memcached 处理实时数据读写;MySQL是影响性能的最大瓶颈,可以用一台MySQL主库(只写)+多台MySQL辅库(只读)的主辅库集群来解决。另外,访问计数等实时性很强的东西用Memcache做缓存。基于c#语言写的调用libevent库事件来实现。
1. hash表结构:key、value存取方式
2. 工作方式:memcached是以守护程序方式运行一个或多个服务器中,随时会接受客户端(如:PHP)连接或操作。
二、Linux安装配置Memcached
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
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扩展
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模块
vi /etc/php.ini
extension=memcache.so
四、启动Memcache的服务器端
/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=
1、Memcached和Memcache安装:
a、下载memcache的windows稳定版,解压放某个盘下面,比如在c:/memcached
b、CMD页面下输入 ‘c:/memcached/memcached.exe -d install’ #安装memcached到系统服务
c、安装php_memcache.dll,下载对应的php版本
d、加载memcache客户端,在C:/winnt/php.ini 加入一行 ‘extension=php_memcache.dll’
e、启动memcached:
c:/memcached/memcached.exe -d –m 128 –l 127.0.0.1 –p 11211 start #默认端口:11211
2、Memcache环境测试:
a.重新启动Apache,然后查看一下phpinfo,如果有memcache,那么就说明安装成功!
b.也可以运行下面的php文件,如果有输出This is a test!,就表示环境搭建成功。
< ?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
转载请注明来源网站:blog.ytso.com谢谢!
原创文章,作者:Maggie-Hunter,如若转载,请注明出处:https://blog.ytso.com/9691.html