PHP缓存应用:PHP MEMCACHE 详解

HTML,ASP,JSP,PHP    2010-01-28 17:05  

  Memcache函数库是在PECL(PHP Extension Community Library)中,重要作用是搭建大容量的内存数据的临时存放地区,在散布式的时间作用表现的非常明显,不然不发起利用。在ubuntu上安顿完运行的时间报错:


/usr/local/memcached/bin/memcached: error while loading shared libraries: libevent-1.4.so.2:

cannot open shared object file: No such file or directory

  根据:《libeven、memcached、libmemcache安顿》中的要领,利用:

sudo ln -s /usr/local/lib/libevent-1.4.so.2 /usr/lib/libevent-1.4.so.2

  可以修正这个BUG

  通过新得立安顿php的memcached模块,刊出/etc/php5/conf.d/memcached.ini内里的“;”,重启apache,调用phpinfo()出现memcached的信息。


<?php   
$memcache = new Memcache;   
$memcache->connect('localhost', 11211) or die ("Could not connect");   
$version = $memcache->getVersion();   
echo "Server's version: ".$version."\n";   
?>

   

  1. <?php    
  2. $memcache = new Memcache;    
  3. $memcache->connect('localhost', 11211) or die ("Could not connect");    
  4. print_r($memcache->getStats());    
  5. /**   
  6. * Array   
  7. * (   
  8. *     [pid] => 8052   
  9. *     [uptime] => 9205   
  10. *     [time] => 1205898428   
  11. *     [version] => 1.2.5   
  12. *     [pointer_size] => 32   
  13. *     [rusage_user] => 0.008000   
  14. *     [rusage_system] => 0.000000   
  15. *     [curr_items] => 1   
  16. *     [total_items] => 17   
  17. *     [bytes] => 57   
  18. *     [curr_connections] => 2   
  19. *     [total_connections] => 15   
  20. *     [connection_structures] => 3   
  21. *     [cmd_get] => 9   
  22. *     [cmd_set] => 23   
  23. *     [get_hits] => 5   
  24. *     [get_misses] => 4   
  25. *     [evictions] => 0   
  26. *     [bytes_read] => 671   
  27. *     [bytes_written] => 850   
  28. *     [limit_maxbytes] => 10485760   
  29. *     [threads] => 1   
  30. * )   
  31. */    
  32. ?>  

   


01.<?php
02.$memcache = new Memcache;
03.$memcache->connect('localhost', 11211) or die ("Could not connect");
04.$memcache->set( 'name', 'leo', 0, 30);
05.if(!$memcache->add( 'name', 'susan', 0, 30))
06.{
07. echo 'susan is exist';
08.};
09.$memcache->replace( 'name', 'lion', 0, 300);
10.echo $memcache->get( 'name');
11.$memcache->delete( 'name', 5);
12.?>

   


01.<?php
02.function _callback_memcache_failure($host, $port) {
03. print "memcache '$host:$port' failed";
04.}
05.$memcache = new Memcache;
06.$memcache->addServer('192.168.1.116', 11211);
07.$memcache->setServerParams('192.168.1.116', 11211, 1, 15, true,
08.
09.'_callback_memcache_failure');
10.echo $memcache->getServerStatus('192.168.1.116', 11211);
11.?>

   


01.<?php
02.$memcache = new Memcache;
03.$memcache->connect('localhost', 11211);
04.$memcache->set('test_item', 8);
05.$memcache->increment('test_item', 4);
06.echo $memcache->decrement('test_item', 7);
07.// 表现 5
08.?>

   


/usr/local/bin/memcached -d -m 10 -u root -l 127.0.0.1 -p 11211 -c 256 -P
 
/tmp/memcached.pid

   

  memcached的办事正式启动

  


01.Memcache::add — 添加一个值,要是已经存在,则返回false
02.Memcache::addServer — 添加一个可供利用的办事器地点
03.Memcache::close — 封闭一个Memcache东西
04.Memcache::connect — 创建一个Memcache东西
05.memcache_debug — 控制调试成果
06.Memcache::decrement — 对生存的某个key中的值举行减法操纵
07.Memcache::delete — 删除一个key值
08.Memcache::flush — 打扫全部缓存的数据
09.Memcache::get — 获取一个key值
10.Memcache::getExtendedStats — 获取进程池中全部进程的运行系齐备计
11.Memcache::getServerStatus — 获取运行办事器的参数
12.Memcache::getStats — 返回办事器的一些运行统计信息
13.Memcache::getVersion — 返回运行的Memcache的版本信息
14.Memcache::increment — 对生存的某个key中的值举行加法操纵
15.Memcache::pconnect — 创建一个Memcache的长期连接东西
16.Memcache::replace — R对一个已有的key举行覆写操纵
17.Memcache::set — 添加一个值,要是已经存在,则覆写
18.Memcache::setCompressThreshold — 对大于某一大小的数据举行压缩
19.Memcache::setServerParams — 在运行时修改办事器的参数 

  发起用面向东西的方法来测试这个库

  Memcache::getVersion要领的作用是返回运行的Memcache的版本信息。

  Memcache::getStats 要领的作用是返回办事器的一些运行统计信息。Memcache::getStats要领有三个参数,第一个参数表现要求返回的范例:reset, malloc, maps, cachedump, slabs, items, sizes;第二个参数和第三个参数是在第一个参数设置“cachedump”时利用的。Memcache::getExtendedStats要领的作用是获取进程池中全部进程的运行系齐备计。

  memcache_debug()函数的作用是控制调试成果,条件是php在编译的时间利用了–enable-debug选项,不然这个函数不会有作用。

  Memcache::addServer 要领的作用是添加一个可供利用的办事器地点,Memcache::addServer要领有8个参数,除了第一个参数不测,其他都是可选的,第一个参数表现办事器的地点,第二个参数表现端口,第三个参数表现是否是一个长期连接,第四个参数表现这台办事器在全部办事器中所占的权重,第五个参数表现连接的连续时间,第六个参数表现连接重试的隔断时间,默以为15,设置为-1表现不举行重试,第七个参数用来控制办事器的在线状态,第8个参数容许设置一个回失函数来处理惩罚错误信息。

  Memcache::setServerParams要领的作用是在运行时修改办事器的参数,Memcache::setServerParams要领有六个参数,Memcache::addServer要领少了第三和第四个参数。 Memcache::getServerStatus要领的作用是获取运行办事器的参数,两个参数分别表现的地点和端口。

  Memcache::flush要领的作用是打扫全部缓存的数据,但是不会削去利用的内存空间。

  Memcache::increment要领的作用是对生存的某个key中的值举行加法操纵,Memcache::decremen要领的作用是对生存的某个key中的值举行减法操纵。

在线留言

我要留言