PHP模块memcached使用指南_PHP
php_memcache.dll
2.在PHP.INI添加
extension=php_memcache.dll
3.程序
代码如下:
//创建一个mem对象实例
$mem=new Memcache;
if(!$mem->connect("10.18.110.213",11211)){
die('连接失败!');
}
//增加
//1.增加一个字串
/* if($mem->set('key1',"beijing",MEMCACHE_COMPRESSED,60)){
echo '添加ok';
}*/
//2.添加数值
/* if($mem->set('key1',100,MEMCACHE_COMPRESSED,60)){
echo '添加ok';
}*/
//3.添加数组
//在添加数组是,根据需要. 希望序列号放入 ,
//serializeunserialize, 如果根据需要,也可以json_encode json_decode
$arr=array("bj",'tj');
if($mem->set('key1',$arr,MEMCACHE_COMPRESSED,time()+31*3600*24)){
echo '添加数组ok99111';
}
//4.添加对象
/* class Dog{
public $name;
public $age;
public function __construct($name,$age){
$this->name=$name;
$this->age=$age;
}
}
$dog1=new Dog('小狗',50);
if($mem->set('key1',$dog1,MEMCACHE_COMPRESSED,60)){
echo '添加对象ok';
}*/
//5.添加null 布尔值
/* if($mem->set('key1',false,MEMCACHE_COMPRESSED,60)){
echo '添加布尔ok';
}*/
//6. 资源类型放入.
/* $con=mysql_connect("127.0.0.1","root","root");
if(!$con){
die('连接数据库失败');
}
var_dump($con);
echo "
";
if($mem->set('key1',$con,MEMCACHE_COMPRESSED,60)){
echo '添加资源ok';
}*/
//查询
$val=$mem->get('key1');
//修改
//可以使用replace
if($mem->replace("key11",'hello',MEMCACHE_COMPRESSED,60)){
echo 'replace ok';
}else{
echo 'replace no ok';
}
//删除
echo "
";
if($mem->delete('key14')){
echo 'key14 删除';
}else{
echo 'key14不存在';
}
总结:
1. mem服务的数据不是同步的, 数据是分布的
2. 把什么数据放入到哪个memcached是由客户端的mem对象决定
3. 当执行addServer的时候,并不是立即去连接mem服务,而是通过计算,hash后才去决定连接哪个mem服务,因此当你大量加入服务器到连接池,没有多余开销
推荐阅读
-
php调用nginx的mod_zip模块打包ZIP文件
-
php将session放入memcached的设置方法
-
PHP 内存缓存加速功能memcached安装与用法
-
php使用imagick模块实现图片缩放、裁剪、压缩示例
-
PHP之APC缓存详细介绍 apc模块安装
-
ubuntu下安装memcached和PHP的memcache扩展
-
centos源码编译php5 mcrypt模块步骤详解
-
centos系统为php安装memcached扩展步骤
-
PHP扩展模块Pecl、Pear以及Perl的区别
-
APMServ一键快速搭建Apache+PHP+MySQL+Nginx+Memcached+ASP运行平台教程