在上一篇博客中我写到了memcache的安装和管理,在这一篇博客中我将写到的是在php中如何使用memcache。
一、安装memcache扩展首先我们通过phpinfo()函数查看一下我们当前的php环境是否支持memcache扩展,在服务器的根目录下新建一个文件info.php,在文件中写入
12 | <?php
phpinfo(); |
然后在浏览器中输入http://localhost/info.php 访问,然后查找是否有memcache扩展,一般我们的服务器默认是没有安装memcache扩展的,所以还是得我们自己来安装。我们先到网上下载php_memcache.dll文件,把文件拷贝到php扩展目录下(我的是php5/ext/),在扩展目录下加上这个文件还没完成,我们要在php的配置文件php.ini文件中加入extension=php_memcache.dll,php环境会自动找到php扩展目录将这个扩展加到php环境中,这个时候我们再重启apache,然后再来访问 http://localhost/info.php ,就可以看到
这就说明我们的memcache扩展安装好了!我们再查看php手册,发现memcache扩展的使用有两种方式,第一种是面向过程的使用方式,还有一种是面向对象的使用方式,而我们一般常用的是面向对象的方式。
二、memcache的使用实例直接贴代码了!
12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970 | <?php
//实例化memcache类
$mem = new Memcache;
//连接memcache服务器(参数为服务器ip,端口),
//pconnect--表示持续连接
$mem ->connect( 'localhost' ,11211);
//addserver表示增加memcache服务器,
//多个memcache服务器可以实现分布式缓存
//$mem->addsever('www.pccxin.com',11211);
//$mem->addsever('www.frontu.net',11211);
//向memcache服务器中增加元素
//boolMemcache::add(string$key,
//mixed$var[,int$flag[,int$expire]])
//参数为键名,值(字符串|数组|对象),
//使用MEMCACHE_COMPRESSED标记对数据进行压缩(使用zlib),
//保存时间(单位秒)
$mem ->add( 'mystr' , 'Thisismyfirstmemcachetest!' ,
MEMCACHE_COMPRESSED,3600);
//add不会重复添加,要想改变值可用replace(),或者set
//$mem->add('mystr','Thisismyfirstmemcachetest!',
MEMCACHE_COMPRESSED,3600);
//向服务器中保存数据
$mem ->set( 'mystr' , 'Thisismysecondmemcachetest!' ,
MEMCACHE_COMPRESSED,3600);
//从服务端删除一个元素
//$mem->delete('mystr');
//清洗(删除)已经存储的所有的元素
//$mem->flush();
//获取memcache中的数据
echo $mem ->get( 'mystr' ). '<br/>' ;
//向memcache服务器中增加元素
$mem ->add( 'myarr' , array ( '1' => 'aaa' , '2' => 'bb' , '3' => 'cc' ),
MEMCACHE_COMPRESSED,3600);
var_dump( $mem ->get( 'myarr' ));
echo '<br/>' ;
class Person{
var $name = 'shawnking' ;
var $sex = '男' ;
}
//向memcache服务器中增加元素
$mem ->add( 'myobj' , new Person);
var_dump( $mem ->get( 'myobj' ));
echo '<br/>' ;
//获取memcache的版本信息
echo 'Version:' , $mem ->getVersion();
|