php 配置memcache

来源:互联网 发布:酱紫的网络语言意思 编辑:程序博客网 时间:2024/06/13 05:45

1. memcache概念

首先我们必须要区别三个概念: Memcached, memcache 和memcached.
1. 其中Memcached指的是Memcached服务器,就是独立运行的Memcached后台服务器,就像mysqld一样,它是用来存储数据的键值对”数据库”.
2. 而memcached和memcache都是Memcached的客户端,可以通过他们来访问连接Memcached服务器.他们都是php的插件.对于两个的区别,是一个老话题了,可以参考其他文章的说法.个人感觉memcached更好些,毕竟功能多,而且是基于libmemcached的扩展.

2. Memcached服务器安装和测试

如果是fedora的话,内置源就有memcached,可以直接用yum安装

yum -y install memcached.x86_64

安装好后,开启后台进程.

 memcached -d -m 10 -u user -l 127.0.0.1 -p 12000 -c 256 -P /tmp/memcached.pid

其中-d表示开启后台服务进程,-m表示最大使用10m内存,-u表示当前用户,-l表示ip地址,-p表示端口号,-c表示最大的并发连接数,-P表示pid文件的位置.其他参数可以直接man memcached查询.

现在可以用telnet测试下memcached的开启情况.

telnet 127.0.0.1 12000Trying 127.0.0.1...Connected to 127.0.0.1.Escape character is '^]'.set a 0 0 41234STOREDget aVALUE a 0 41234END^Cquit

上面消息表示Memcached服务器安装成功.

3. memcache的安装和测试

wget -c http://pecl.php.net/get/memcache-3.0.8.tgztar zxvf memcache-3.0.8.tgzphpize && ./configure --enable-memcache --with-php-config=/usr/local/php/bin/php-configmake && make install

这样下面会出现一行Installing shared extensions: /usr/local/php/lib/php/extensions/no-debug-non-zts-20131226/
这样so文件就生成了,然后在php.ini文件中导入这个模块就行.

extension_dir=/usr/local/php/lib/php/extensions/no-debug-non-zts-20131226/extension=memcache.so

然后重启php-fpm加载php.ini,查看phpinfo如果看到memcached则表示模块安装成功.有时可能出现php.ini未加载的情况.可以强制php-fpm加载该ini文件.

php-fpm -c /usr/local/php/lib/php.ini

在php文件中测试memcached.

<?php$memcache = memcache_connect('localhost', 12000);if ($memcache) {    $memcache->set("key1", "String");    $memcache->set("key2", 123);    $object = new StdClass;    $object->attribute = 'test';    $memcache->set('key3', $object);    var_dump($memcache->get('key1'));    var_dump($memcache->get('key2'));    var_dump($memcache->get('key3'));} else {    echo "Connection to memcached failed";}?>

浏览器访问即可知道是否成功访问.

在memcache中有一个叫memcache.php的文件,可以查看memcache服务器的运行状况.
修改memcache.php文件.

#$MEMCACHE_SERVERS[] = 'mymemcache-server1:11211'; // add more as an array#$MEMCACHE_SERVERS[] = 'mymemcache-server2:11211'; // add more as an array$MEMCACHE_SERVERS[] = 'localhost:12000';

浏览器打开就可以看到memcached服务器的情况.

4. memcached的安装和测试

安装和memcache差不多,不过要先装libmemcached.

yum -y install libmemcached.x86_64

然后就按按照memcache的安装和测试方法就行.

0 0
原创粉丝点击