加入收藏 | 设为首页 | 会员中心 | 我要投稿 源码门户网 (https://www.92codes.com/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 站长学院 > PHP教程 > 正文

php memcached安装和使用

发布时间:2022-02-09 15:14:19 所属栏目:PHP教程 来源:互联网
导读:1.简介 memcache模块是一个高效的守护进程,提供用于内存缓存的过程式程序和面向对象的方便的接口,特别是对于设计动态web程序时减少对数据库的访问.memcache也提供用于通信对话(session_handler)的处理. 1.1.memcache在php.ini中的配置项列表 memcache在p
  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 ////开源代码Cuoxin.com
  有关 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');//开源代码Cuoxin.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)//开源代码Cuoxin.com
      exit("no value find")
    $arr = implode('rn', $str);
    echo $arr[1];
  }
  简单解释上面的代码,使用fsocketopen打开服务器的socket通讯接口,然后向其发送get key命令,然后获取返回的数据,并解析返回的数据,这里都没有做异常的处理,在编程的时候要填 memcached 是一个键值存储系统,它将关键数据存储在内存中,大大减少存取数据的时间,使用memcached的好处不言而喻,它不仅减少了系统访问数据库的压力,而且提高系统的反应速度,至于什么样的系统需要使用memcache,笔者建议数据量大,访问频繁系统可以采取memcached作为缓存的中间层.
 
  使用memcached的缺点除了增加程序的代码量,还有就是不能保证数据库的实时性,另外在第一次初始化数据库会需要额外的时间,但是这些的缺点比起它的优点是很微不足道.

(编辑:源码门户网)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    热点阅读