首页 > 代码库 > memcache

memcache

# tar zxvf libevent-1.2.tar.gz
# cd libevent-1.2
# ./configure -prefix=/usr
# make
# make install
    
#ldconfig命令 重新加载一下公共的文件

# tar -xvf memcached-1.4.15.tar.gz
cd memcached-1.4.15
./configure --prefix=/usr/local/memcache
make & make install

编译安装php模块的memcache模块 下载地址 http://pecl.php.net/package/memcache

tar -xvf memcache-2.2.7.tar.gz

cd memcache-2.2.7

#/usr/local/php/bin/phpize

#./configure --with-php-config=/usr/local/php/bin/php-config --enable-memcache

make & make install

# vim php.ini

#extension_dir = "/services/php/lib/php/extensions/no-debug-non-zts-20100525"

#extension=memcache.so

重启php


启动

#memcached -d -m 2048 -u root  -l 127.0.0.1 -p 11211  或

/usr/local/bin/memcached -d -m 10 -u root -l 192.168.0.1 -p 11211 -c 256 -P /tmp/memcached.pid

# telnet 127.0.0.1 11211

通常:启动Memcache的服务器端的命令为:
# /usr/local/bin/memcached -d -m 10 -u root -l 192.168.0.200 -p 12000 -c 256 -P /tmp/memcached.pid

关闭服务 kill `cat /tmp/memcached.pid`


-d选项是启动一个守护进程,
-m是分配给Memcache使用的内存数量,单位是MB,我这里是10MB,
-u是运行Memcache的用户,我这里是root,
-l是监听的服务器IP地址,如果有多个地址的话,我这里指定了服务器的IP地址192.168.0.200,
-p是设置Memcache监听的端口,我这里设置了12000,最好是1024以上的端口,
-c选项是最大运行的并发连接数,默认是1024,我这里设置了256,按照你服务器的负载量来设定,
-P是设置保存Memcache的pid文件,我这里是保存在 /tmp/memcached.pid,

想开机自动启动的话,只需在/etc/rc.d/rc.local中加入一行,上面命令
有人用以下命令:
/usr/local/memcached/bin/memcached -d -m 20 -p 11211 -u www
上面有些东西可以参考一下:即,ip不指定时,默认是本机,用户,最好选择是:www
这样,也就是属于哪个用户的服务,由哪个用户启动。

测试:

<?php
    $memcache = new Memcache; //创建一个memcache对象
    $memcache->connect(‘localhost‘, 11211) or die ("Could not connect"); //连接Memcached服务器
    $memcache->set(‘key‘, ‘test‘); //设置一个变量到内存中,名称是key 值是test
    $get_value = http://www.mamicode.com/$memcache->get(‘key‘); //从内存中取出key的值
    echo $get_value;
?>

memcache