欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  网络运营

ubuntu+php环境下的Memcached 安装方法

程序员文章站 2022-11-18 17:28:24
目前被很多系统所使用,例如flick、twitter等。这是一套开放源代码软件,以bsd license授权发布。下面记录一下在lamp环境下的memcached安装。关于...
目前被很多系统所使用,例如flick、twitter等。这是一套开放源代码软件,以bsd license授权发布。下面记录一下在lamp环境下的memcached安装。关于memcached的应用,这里有两篇不错的文章:《》、《discuz!的memcache缓存实现

使用apt安装memcached
apt-get install memcached
启动memcached
1. 终端下使用命令 memcached就可以启动 。例如 memcached -d。
2. 各个选项说明:
-d选项是启动一个守护进程,
-m是分配给memcached使用的内存数量,单位是mb。
-u是运行memcached的用户。
-l是监听的服务器ip地址,如果有多个地址的话,我这里指定了服务器的ip地址192.168.0.200。
-p是设置memcached监听的端口,默认是11211。
-c选项是最大运行的并发连接数,默认是1024。
-p是设置保存memcached的pid文件,例如 /tmp/memcached.pid。
3. 测试memcached。官方有提供一telnet例子。
复制代码 代码如下:

$ telnet localhost 11211
trying 127.0.0.1...
connected to localhost.
escape character is '^]'.
get foo
value foo 0 2
hi
end
stats
stat pid 8861

(etc)安装php的memcached拓展
#sudo apt-get install php5-memcache
编辑 /etc/php5/apache2/php.in,添加以下内容。(这一步骤参考了网上的配置,并不是最少的配置)。
[memcache]
; 是否在遇到错误时透明地向其他服务器进行故障转移。
memcache.allow_failover = on
; 接受和发送数据时最多尝试多少个服务器,只在打开memcache.allow_failover时有效。
memcache.max_failover_attempts = 20
; 数据将按照此值设定的块大小进行转移。此值越小所需的额外网络传输越多。
; 如果发现无法解释的速度降低,可以尝试将此值增加到32768。
memcache.chunk_size = 8192
; 连接到memcached服务器时使用的默认tcp端口。
memcache.default_port = 11211
php环境下的memcached测试
复制代码 代码如下:

<?php
$memcache = new memcache;
$memcache->connect('localhost', 11211) or die ("could not connect");
$version = $memcache->getversion();
echo "server's version: ".$version."<br/>\n";
$tmp_object = new stdclass;
$tmp_object->str_attr = 'test';
$tmp_object->int_attr = 123;
$memcache->set('key', $tmp_object, false, 10) or die ("failed to save data at the server");
echo "store data in the cache (data will expire in 10 seconds)<br/>\n";
$get_result = $memcache->get('key');
echo "data from the cache:<br/>\n";
var_dump($get_result);
?>