php扩展memcache和memcached区别?以及memcached软件的介绍
引用“http://www.vicenteforever.com/2012/03/memcache-different-memcached/”
memcached是一个软件,而PHP包括了memcache和memcached 2个扩展,这2个接口使PHP程序代码能够操作和使用memcached这个软件。
一,php扩展memcache和memcached区别
1. 目前大多数php环境里使用的都是不带d的memcache版本,这个版本出的比较早,是一个原生版本,完全在php框架内开发的。与之对应的带d的memcached是建立在libmemcached的基础上,所以相对来说,memcached版本的功能更全一些。
memcache:http://cn2.php.net/manual/en/book.memcache.php
memcached:http://cn2.php.net/manual/en/book.memcached.php
2. Memcache是原生实现的,支持OO和非OO两套接口并存。而memcached是使用libmemcached,只支持OO接口。
3. memcached还有个非常称赞的地方,就是flag不是在操作的时候设置了,而是有了一个统一的setOption()。Memcached实现了更多的memcached协议。
4. memcached支持Binary Protocol,而memcache不支持。这意味着memcached会有更高的性能。不过memcached目前还不支持长连接。
二,memcached简介
memcached是一个高效的守护进程,提供用于内存缓存的过程式程序和面向对象的方便的接口,特别是对于设计动态web程序时减少对数据库的访问。
memcached也提供用于通信对话session(session_handler)的处理。
更多Memcached的相关信息可以到 http://www.memcached.org/ 查阅。
memcache这个PHP模块的有关说明:
memcache模块在php.ini中的配置项列表
memcache.allow_failover 默认值“1” Available since memcache 2.0.2.
memcache.max_failover_attempts 默认值"20" Available since memcache 2.1.0.
memcache.chunk_size 默认值"8192" Available since memcache 2.0.2.
memcache.default_port 默认值"11211" LL Available since memcache 2.0.2.
memcache.hash_strategy 默认值"standard" Available since memcache 2.2.0.
memcache.hash_function 默认值"crc32" Available since memcache 2.2.0.
session.save_handler 默认值"files" Supported since memcache 2.1.2
session.save_path 默认值为空 Supported since memcache 2.1.2
以下是各PHP.ini相关配置项的简要解释
memcache.allow_failover Boolean
在错误时是否透明的故障转移到其他服务器上处理(注:故障转移是动词)。
memcache.max_failover_attempts integer
定义服务器的数量类设置和获取数据,只联合 memcache.allow_failover 一同使用。
memcache.chunk_size integer
数据将会被分成指定大小(chunk_size)的块来传输,这个值(chunk_size)越小,写操作的请求就越多,如果发现其他的无法解释的减速,请试着将这个值增大到32768.
memcache.default_port string
当连接memcache服务器的时候,如果没有指定端口这个默认的tcp端口将被用。
memcache.hash_strategy string
控制在映射 key 到服务器时使用哪种策略。设置这个值一致能使hash 算法始终如一的使用于服务器接受添加或者删除池中变量时将不会被重新映射。设置这个值以标准的结果在旧的策略被使用时。
memcache.hash_function string
控制哪种 hsah 函数被应用于 key映射 到服务器过程中,默认值“crc32”使用 CRC32 算法,而“fnv”则表示使用 FNV-1a 算法。
session.save_handler string
通过设置这个值为memcache来确定使用 memcache 用于通信对话的处理(session handler)。
session.save_path string
定义用于通话存储的各服务器链接的分隔符号,例如:“tcp://host1:11211, tcp://host2:11211”。
每服务器个链接可以包含被接受于该服务器的参数,比较类似使用 Memcache::addServer() 来添加的服务器,例如:“tcp://host1:11211?persistent=1&weight=1&timeout=1&retry_interval=15”。
memcache模块常量列表
MEMCACHE_COMPRESSED integer 用于调整在使用 Memcache::set(), Memcache::add() 和 Memcache::replace() 几个函数时的压缩比率。
MEMCACHE_HAVE_SESSION integer 如果通信对话的处理(session handler)被允许使用其值为 1,其他情况值为 0。
【注意】memcache以及memcached相关扩展和memcached是两回事。如果不安装memcached软件,那么,即使PHP成功安装、加载了memcache模块也是没有用的。
当然有一种情况memcache模块可以使用,那就是memcached的安装在其它服务器,PHP可以通过memcache模块调用到它(memcached缓存服务器)
也就是说,如果想正常使用PHP的memcache模块功能,就得有安装有memcached软件的服务器,本机或者其它机器。
一个测试memcache是否能正常使用的PHP代码:
<?php
$mem = new Memcache;
$mem->connect('127.0.0.1', 11211);
$mem->set('key', 'This is a test!', 0, 60);
$val = $mem->get('key');
echo $val;
?>
php扩展memcache和memcached区别?以及memcached软件的介绍的更多相关文章
- memcache 和 memcached 区别
区别用一句话表达:Memcached (字母d可以理解为daemon)是一个服务(运行在服务器上的程序,监听某个端口),Memcache 是 一套访问Memcached的api. memcache客户 ...
- memcache memcached 区别
.目前大多数php环境里使用的都是不带d的memcache版本,这个版本出的比较早,是一个原生版本,完全在php框架内开发的.与之对应的带d的memcached是建立在libmemcached的基础上 ...
- php模块memcache和memcached区别分析
zm总结:尽量使用memcached就好了 1.目前大多数php环境里使用的都是不带d的memcache版本,这个版本出的比较早,是一个原生版本,完全在php框架内开发的.与之对应的带d的memcac ...
- linux-CentOS6.4安装Memcached+memcached扩展+安装memcache扩展+Memcache+mecached同步SESSION的几种方法
一.编译环境的准备 yum install gcc yum install gcc-c++ libstdc++-devel yum install zlib-devel 二.源代码包准备 wget ...
- memcache和memcached区别
Memcache是一个自由和开放源代码.高性能.分配的内存对象缓存系统.用于加速动态web应用程序,减轻数据库负载.它可以应对任意多个连接,使用非阻塞的网络IO.由于它的工作机制是在内存中开辟一块空间 ...
- linux下安装PHP扩展memcache
公司的服务器 CentOS 7.5,PHP 5.6 下面都是最新的版本(支持到PHP5.6) 如需php7 下支持memcache扩展,请移步 https://www.cnblogs.com/h ...
- memcache和memcahced区别
在写这篇文章之前一直对memcache .memcahced模糊,相差一个字母,特此总结下: Memcache是什么? Memcache是一个自由和开放源代码.高性能.分配的内存对象缓存系统.用于加速 ...
- PHP扩展memcache模
研究yii当配套部件,发现自己PHP甚至不支持memcache该模块,于是,我就展开位. 本机环境:win8.1 开发环境:php 5.5 第一步:先把所需的文件包下载全然,我已经打包好,这里能够下 ...
- win7下wamp扩展memcache
1.服务端安装 1.1 下载地址 http://download.csdn.net/detail/feiyuhit/5873533#comment 1.2 安装 将下载的压缩文件夹的memcached ...
随机推荐
- mount /dev/sr0 /media/cdrom you must specify the filesystem type
发现“CD/DVD”的Device status中的“Connected”未打勾,将此项打勾后(不需要重启虚拟机),可以正常挂载光驱
- web和wap网站的区别 (转)
WAP的全称是“无线应用协议(Wireless Application Protocol)”,是一种向移动终端提供互联网内容和先进增值服务的全球统一的开放式协议标准, 是简化了的无线Internet ...
- Android给ListView添加一个入场动画
动画是一个App体现良好交互的一种手段,通常的我们会看到很多App的ListView的Item都有一个入场动画例如: 可以看到,当进入界面加载ListView的Item的时候有一个向左滑动显示,并且淡 ...
- react-native 组件的导入、导出
一.前言背景: 学习react native的关键在于组件,依靠组件的拼接达到想要的效果,由此可见,组件就像一块块功能各异的零件,最终搭建出我们想要的效果. 今天我们就从组件的导入.导出开始 下面是我 ...
- PEAR
简介:pear是php扩展与应用库(the php extension and application repository)的缩写.它是一个php扩展及应用的一个代码仓库. 编码规范:参考(http ...
- 前端基础之:JQuery(可编辑版)
前端基础之jquery 一 jQuery是什么? [1] jQuery由美国人John Resig创建,至今已吸引了来自世界各地的众多 javascript高手加入其team. [2] ...
- change qt version
https://blog.csdn.net/xiaoheibaqi/article/details/50777203 右键工程->设置qt project setting -->修改ver ...
- Linux gcc支持的语法 __attribute__ 属性设置
__attribute__实际上是gcc专有的一种语法,是用来设置函数属性.变量属性.类属性的 语法:之前在C中的结构体对齐中提到过,当时是用来告诉编译器这个结构体的对齐方式 ,其实他还有很多种用法, ...
- CSS —— line-height详解
本文导读:“行高“指一行文子的高度,具体来说是指两行文子间基线间的距离.在CSS,line-height被用来控制行与行之间的垂直距离.line-height 属性会影响行框的布局.在应用到一个块级元 ...
- swift的可选值(optional)
苹果那文档写了一大堆也没有好好的写一下可选值(optional)这个东西.就是在有一个“Optional Chaining”的章节,但是也不是很充分的说明.最后找了半天在“the basics”里墨迹 ...