好得很程序员自学网

<tfoot draggable='sEl'></tfoot>

php memcached安装与使用 - php高级应用

php memcached安装与使用

1.简介

memcache模块是一个高效的守护进程,提供用于内存缓存的过程式程序和面向对象的方便的接口,特别是对于设计动态web程序时减少对数据库的访问.memcache也提供用于通信对话(session_handler)的处理.

1.1.memcache在php.ini中的配置项列表 memcache在php.ini中的配置项列表 

名称 默认值 是否可变 改变日志

memcache.allow_failover   [1]   php_ini_all   available since memcache 2.0.2.    memcache.max_failover_attempts   "20"    php_ini_all   available since memcache 2.1.0.    memcache.chunk_size   "8192"    php_ini_all   available since memcache 2.0.2.    memcache.default_port   "11211"    php_ini_all   available since memcache 2.0.2.    memcache.hash_strategy   "standard"    php_ini_all   available since memcache 2.2.0.    memcache.hash_function   "crc32"    php_ini_all   available since memcache 2.2.0.    session.save_handler   "files"    php_ini_all   supported since memcache 2.1.2    session.save_path   ""    php_ini_all   supported since memcache 2.1.2  ////开源代码phpfensi测试数据  

有关 php_ini_* 常量进一步的细节与定义参见php手册php.ini 配置选项.下面摘一段代码,给大家一个直观的印象:(假设memcached安装在172.10.10.10上面,端口号12121):

$memcache  =  new  memcached();  $memcahce ->connect( '172.10.10.10' , 12121);  $memcache ->set( 'key' ,  'value' ); //开源代码phpfensi测试数据   $memcache ->get( 'key' ); 

上面的主要完成了memcached的简单操作流程:连接memcached服务器,设置值,取值('key'的值是'value');

这里需要向大家说明一下addserver函数和connect函数,addserver是将多个服务器放在连接池,而connect只是将连接某一台服务器,如果在使用了addserver,再使用connect,这里就会只使用一台服务器,以下代码是简单模拟的客户端操作:

$fp  = fsocketopen( '172.10.10.10' , 12121,  $errorno ,  $errstr , 1);  if (! $fp )     echo   "$errstr" ;  else   {     $out  =  "get key rn" ;    fwrite( $out );     while (! feof ( $fp ))       $str   . =  fgets ( $fp );     if ( stripos ( $str ,  'end' ) ===0) //开源代码phpfensi测试数据        exit ( "no value find" )     $arr  = implode( 'rn' ,  $str );     echo   $arr [1];  } 

简单解释上面的代码,使用fsocketopen打开服务器的socket通讯接口,然后向其发送get key命令,然后获取返回的数据,并解析返回的数据,这里都没有做异常的处理,在编程的时候要填 memcached 是一个键值存储系统,它将关键数据存储在内存中,大大减少存取数据的时间,使用memcached的好处不言而喻,它不仅减少了系统访问数据库的压力,而且提高系统的反应速度,至于什么样的系统需要使用memcache,笔者建议数据量大,访问频繁系统可以采取memcached作为缓存的中间层.

使用memcached的缺点除了增加程序的代码量,还有就是不能保证数据库的实时性,另外在第一次初始化数据库会需要额外的时间,但是这些的缺点比起它的优点是很微不足道.

查看更多关于php memcached安装与使用 - php高级应用的详细内容...

  阅读:38次