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 "
";
}
}
}
?>
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);