Home  >  Article  >  php教程  >  php memcached安装与使用

php memcached安装与使用

WBOY
WBOYOriginal
2016-05-25 16:42:531172browse

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

有关 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');//开源代码phprm.com 
$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)//开源代码phprm.com 
    exit("no value find") 
  $arr = implode('rn', $str); 
  echo $arr[1]; 
}

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

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


永久地址:

转载随意~请带上教程地址吧^^

Statement:
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn