[PHP]memcache安装

1.memcached 安装

sudo apt-get install memcached

memcached 参数说明

memcached -d -m 50 -p 11211 -u root

-m 指定使用多少兆的缓存空间;-p 指定要监听的端口; -u 指定以哪个用户来运行

2.安装php-memcache模块

sudo apt-get install php5-memcache

3.编辑配置文件

sudo vim /etc/php5/mods-available/memcache.ini

;uncomment the next line to enable the module

extension=memcache.so

[memcache]

memcache.dbpath="/var/lib/memcache"

memcache.maxreclevel=0

memcache.maxfiles=0

memcache.archivememlim=0

memcache.maxfilesize=0

memcache.maxratio=0

4.测试:

1).向memcache中存入值:

$mem = new Memcache;

$mem->connect("127.0.0.1", 11211);

$mem->set('key', 'This is a memcached test!', 0, 60);

$val = $mem->get('key');

echo $val;

2).读取memcache中的值:

<?php

$host='127.0.0.1';

$port=11211;

$mem=new Memcache();

$mem->connect($host,$port);

$items=$mem->getExtendedStats('items');

$items=$items["$host:$port"]['items'];

foreach($items as $key=>$values){

$number=$key;;

$str=$mem->getExtendedStats ("cachedump",$number,0);

$line=$str["$host:$port"];

if( is_array($line) && count($line)>0){

foreach($line as $key=>$value){

echo $key.'=>';

print_r($mem->get($key));

echo "\r\n";

}

}

}

?>

5.说明:

语法:Memcache::set ( string $key , mixed $var [, int $flag [, int $expire ]] );

参数

key

要设置值的key。

var

要存储的值,字符串和数值直接存储,其他类型序列化后存储。

flag

使用MEMCACHE_COMPRESSED指定对值进行压缩(使用zlib)。

expire

当前写入缓存的数据的失效时间。如果此值设置为0表明此数据永不过期。你可以设置一个UNIX时间戳或 以秒为单位的整数(从当前算起的时间差)来说明此数据的过期时间,但是在后一种设置方式中,不能超过 2592000秒(30天)。

例如:$mem->set('key', 'This is a memcached test!', 0, 60);