Heim > php教程 > php手册 > php memcached安装与使用

php memcached安装与使用

WBOY
Freigeben: 2016-05-25 16:42:53
Original
1222 Leute haben es durchsucht

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
Nach dem Login kopieren

有关 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');
Nach dem Login kopieren

上面的主要完成了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]; 
}
Nach dem Login kopieren

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

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


永久地址:

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

Verwandte Etiketten:
Quelle:php.cn
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Beliebte Empfehlungen
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage