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

php memcached安装与使用

WBOY
풀어 주다: 2016-05-25 16:42:53
원래의
1222명이 탐색했습니다.

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


永久地址:

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

관련 라벨:
원천:php.cn
본 웹사이트의 성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.
인기 추천
인기 튜토리얼
더>
최신 다운로드
더>
웹 효과
웹사이트 소스 코드
웹사이트 자료
프론트엔드 템플릿