php高手必须要学会memcached

memcached 这个东西是个十分好的东西.做为PHPer不懂用的话如果挤身于php高手之列呢.所以有此一章

在自己的LINUX 下配置好了 memcached   , 按照网上的配置访问问题都不大.网上的memcached的安装教程都挺正确的.

不过按照自己的环境要注意几点.

第一就是在安装memcached之前必须先编译安装好libevent包.   这个有下.自己百度

第二就是  编译  libevent 包的时候记得是   ./configure --prefix=/usr         编译到   /usr 目录.

因为usr 目录下有个lib 目录.里面全都是  xx.so   xx.so.1  之类的LIB库.    

装完了libevent  以后  再开始 安装 memcached  .

装 memcached 也要注意.网上讲的也不是很好.

网上讲的是改php.ini 的 extension dir 地址.    其实只要我们在   编译生成  memcached.so 以后.放我们设置好的存放so的目录下就行了.

以上几点是我在安装时候的得到的.  自己看着办吧. 其实程序安装挺简单的.

然后就是使用 memcached 了.  使用memcached  有两种办法.第一种就是用pecl 包 的 memcached 模块.  不过这办法要编译.   第二种是使用 memcached-client .php 文件.  这个速度上当然不够好了.所以我选择了第一种方法.

使用memcached  其实挺简单的.不过也是看你使用的具体足浴粉程序环境了.也有可能是复杂的.

现在我就一个一个对  pecl 的memcached 里面的方法 一个一个试.呵呵. 反正俺快没工作了.时间多......

1 Memcache::add    方法

这个方法就是在往内存里面添加变量  挺爽看例子

 

如果变量已经存在内存中.那么就会返回 false. 我只给出基本招式.自己灵活运用了.

Memcached:: set方法

设置变量在内存中的值

有参数同Memcached:: add  一样

1  为变量在内存中的标志   2  为变量的值    3为是否压缩标志   4为变量在内存中的存活秒数

看例子吧

<?php $mem = new Memcache; $mem->connect(‘localhost‘,11211) or die("not connect"); !$mem->set(‘mykey‘,‘good job‘‘) && die("not input memory"); echo($mem->get(‘mykey‘)); //没压缩前

!$mem->set(‘mykey‘,‘good job‘,MEMCACHE_COMPRESSED,50) && die("not input memory"); echo($mem->get(‘mykey‘)); // 压缩和设置了变量在内存中的存活时间 ?> 压缩是否有用.如果我们把一个占字节大的变量存放在内存.当然压缩后占内存小拉.

?>

3   Memcached :: get 方法

这个方法看名字就知道是从内存中获取变量 ,前面我们存过足浴粉变量进去的嘛还记得吧.呵呵

使用方法很简单 看: <?php $mem=new Memcache; $mem->connect(‘localhost‘,11211) or die("not connect"); if(!$mem->get(‘kesdy‘)){     echo ‘xx‘; }

?> 如果要获取的变量之前没存过到内存或是已经过期.那么会返回空.

4 Memcache::connect 这个方法不用讲了吧. 看上面的所有例子都有用到. 第一个参数是:   memcache 服务器的IP地址..第二个参数是: memcache 的监听端口.  默认是11211

Memcache::pconnect   这个也不用说了吧 .. 呵呵    长连接

 

5  Memcache :: replace()  方法

这个方法看名字就知道.是替换在内存中已存在的变量的值和参数等.

如果 变量在内存中已经存在 但我们想改变他的值最好就不要用 Memcache :: set () 方法. 在这种情况来说效率上  replace() 效率更快更好

上菜

<?php $mem = new Memcache; $mem->connect(‘localhost‘,11211); $mem->set(‘mykey‘,‘xxeedd‘); $mem->replace(‘mykey‘,‘dddddddddddddd‘); echo($mem->get(‘mykey‘)); ?>

上面是输出   ddddddddddddddddddddd

可以看出  给替换了吧.呵呵

6  

Memcache::increment 方法

这个是对内存变量的值为数值的有效. 

<?php $mem = new Memcache; $mem->connect(‘localhost‘,11211); $mem->set(‘mykey‘,5); $mem->increment(‘mykey‘,2);  //这样的话   mykey  的值就自动加了 2  成了 7    echo($mem->get(‘mykey‘)); ?>

Memcache::decrement 方法和他刚好相反.

7  Memcache:: delete()  方法

这个方法是手动删除一个在内存中的变量.

<?php $mem = new Memcache; $mem->connect(‘localhost‘,11211); $mem->set(‘mykey‘,5); $mem->delete(‘mykey‘); //删除,还可以带个足浴粉程序参数是在多少秒后进行删除.    $mem->delete(‘mykey‘,50); echo($mem->get(‘mykey‘)); ?>

够简单的了.自己看下

8

Memcache :: flush() 

使存在内存中的所有变量全部失效.

用法也很简单.

<?php $mem = new Memcache; $mem->connect(‘localhost‘,11211); $mem->set(‘mykey‘,5); $mem->flush(); ?>

基本讲完了.懂用这几个 东西.  memcached  基本也就那样了..

php高手必须要学会memcached,古老的榕树,5-wow.com

郑重声明:本站内容如果来自互联网及其他传播媒体,其版权均属原媒体及文章作者所有。转载目的在于传递更多信息及用于网络分享,并不代表本站赞同其观点和对其真实性负责,也不构成任何其他建议。