




全文预览已结束
下载本文档
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
一. Linux 下安装1. 首先是下载 memcached 了,目前最新版本是 1.2.1,直接从官方网站即可下载到 memcached-1.2.1.tar.gz 。除此之外,memcached 用到了 libevent ,我下载的是 libevent-1.3a.tar.gz。memcached官方版本下载地址:/memcached/libevent官方版本下载地址:/provos/libevent/2. 接下来是分别将 libevent-1.3a.tar.gz 和 memcached-1.2.1.tar.gz 解开包、编译、安装:我安装memcached 在 /usr/bin/memcached位置。复制内容到剪贴板代码:# tar -xzf libevent-1.3a.tar.gz# cd libevent-1.3a# ./configure -prefix=/usr# make# make install# cd .# tar -xzf memcached-1.2.1.tar.gz# cd memcached-1.2.1# ./configure -prefix=/usr# make# make installNOTE: 如果 libevent 不是安装在 /usr 目录下,那么需要把 libevent-1.2a.so.1 拷贝/链接(ls -s /usr/local/lib/libevent-1.1.so.1 /usr/lib)到 /usr/lib 中,否则memcached 无法正常加载。运行以下命令来启动 memcached。3. 运行 memcached 守护程序运行 memcached 守护程序很简单,只需一个命令行即可,不需要修改任何配置文件(也没有配置文件给你修改):#/usr/bin/memcached -d -m 128 -l 17 -p 11211 -u nobody复制内容到剪贴板代码:/usr/bin/memcached -d -m 128 -l 17 -p 11211 -u httpd参数解释:-d 以守护程序(daemon)方式运行 memcached;-m 设置 memcached 可以使用的内存大小,单位为 M;-l 设置监听的 IP 地址,如果是本机的话,通常可以不设置此参数;-p 设置监听的端口,默认为 11211,所以也可以不设置此参数;-u 指定用户,如果当前为 root 的话,需要使用此参数指定用户。当然,还有其它参数可以用,man memcached 一下就可以看到了。4. 编译PHP configure加上 enable-memcache=DIR 选项。我以前都是静态安装 PHP模块,此次 安装memcache PHP模块采用动态模块(DSO)方式memcache PHP模块下载地址:/package/memcache复制内容到剪贴板代码:# tar -vxzf memcache-1.5.tgz# cd memcache-1.5# /usr/local/php/bin/phpize# ./configure -enable-memcache -with-php-config=/usr/local/php/bin/php-config -with-zlib-dir# make# make install安装完后会有类似这样的提示:Installing shared extensions: /usr/local/php/lib/php/extensions/no-debug-non-zts-20050922/把这个记住然后修改php.ini把extension_dir = ./修改为extension_dir = /usr/local/php/lib/php/extensions/no-debug-non-zts-20050922/并添加一行extension=memcache.so二. Windows 下安装1.下载memcache的windows稳定版,解压放某个盘下面,比如在c:memcached2.在终端(也即cmd命令界面)下输入c:memcachedmemcached.exe -d install安装3.再输入:c:memcachedmemcached.exe -d start启动。NOTE:以后memcached将作为windows的一个服务每次开机时自动启动。这样服务器端已经安装完毕了。4.下载/ext.php/php_memcache.dll,请自己查找对应的php版本的文件5.在C:winntphp.ini加入一行extension=php_memcache.dll6.重新启动Apache,然后查看一下phpinfo,如果有memcache,那么就说明安装成功!三、 memcache与memcached的比较memcached 会比 memcache 多几个方法,使用方式上都差不多。/questions/1442411/using-memcache-vs-memcached-with-phpmemcached 实现了更多的 memcached 协议(毕竟是基于 libmemcached 库的)。/questions/63383/memcache-vs-memcachedmemcached 的版本比较新,而且使用的是 libmemcached 库。libmemcached 被认为做过更好的优化,应该比 php only 版本的 memcache 有着更高的性能。这里有另外一个对比表,很明显,用 memcached 会让人放心很多:/p/memcached/wiki/PHPClientComparison差别比较大的一点是,memcached 支持 Binary Protocol,而 memcache 不支持,意味着 memcached 会有更高的性能。不过,还需要注意的是,memcached 目前还不支持长连接:在这里,我推荐大家使用 memcached三、 membercache服务端的一些参数memcached的基本设置:-p 监听的端口-l 连接的IP地址, 默认是本机-d start 启动memcached服务-d restart 重起memcached服务-d stop|shutdown 关闭正在运行的memcached服务-d install 安装memcached服务-d uninstall 卸载memcached服务-u 以的身份运行 (仅在以root运行的时候有效)-m 最大内存使用,单位MB。默认64MB(设置MEMCACHE大小)-M 内存耗尽时返回错误,而不是删除项-c 最大同时连接数,默认是1024-f 块大小增长因子,默认是1.25-n 最小分配空间,key+value+flags默认是48-h 显示帮助MEMCACHE测试代码connect(, 11211) or die (Could not connect);$version = $memcache-getVersion();echo Servers version: .$version.n;$tmp_object = new stdClass;$tmp_object-str_attr = test;$tmp_object-int_attr = 123;$memcache-set(key, $tmp_object, false, 10) or die (Failed to save data at the server);echo Store data in the cache (data will expire in 10 seconds)n;$get_result = $memcache-get(key);echo Data from the cache:n;var_dump($get_result);?运行后输出如下:Servers version: 1.2.6 Store data in the cache (data will expire in 10 seconds) Data from the cache: object(stdClass)#3 (2) str_attr= string(4) test int_attr= int(123) php.ini中的配置:Memcache; 一个高性能的分布式的内存对象缓存系统,通过在内存里维护一个统一的巨大的hash表,; 它能够用来存储各种格式的数据,包括图像、视频、文件以及数据库检索的结果等。; 是否在遇到错误时透明地向其他服务器进行故障转移。memcache.allow_failover = On; 接受和发送数据时最多尝试多少个服务器,只在打开memcache.allow_failover时有效。memcache.max_failover_attempts = 20; 数据将按照此值设定的块大小进行转移。此值越小所需的额外网络传输越多。; 如果发现无法解释的速度降低,可以尝试将此值增加到32768。memcache.chunk_size = 8192; 连接到memcached服务器时使用的默认TCP端口。memcache.default_port = 11211; 控制将key映射到server的策略。默认值standard表示使用先前版本的老hash策略。; 设为consistent可以允许在连接池中添加/删除服务器时不必重新计算key与server之间的映射关系。;memcache.hash_strategy = standard; 控制将key映射到server的散列函数。默认值crc32使用CRC32算法,而fnv则表示使用FNV-1a算法。; FNV-1a比CRC32速度稍低,但是散列效果更好。;memcache.hash_function = crc32;memcache也可以作为session的存储模块,具体参看:memcache PHP 的 session.save_handler.Memcache的安全我们上面的Memcache服务器端都是直接通过客户端连接后直接操作,没有任何的验证过程,这样如果服务器是直接暴露在互联网上的话是比较危险,轻则数据泄露被其他无关人员查看,重则服务器被入侵,因为Mecache是以root权限运行的,况且里面可能存在一些我们未知的bug或者是缓冲区溢出的情况,这些都是我们未知的,所以危险性是可以预见的。为了安全起见,我做两点建议,能够稍微的防止黑客的入侵或者数据的泄露。内网访问最好把两台服务器之间的访问是内网形态的,一般是Web服务器跟Memcache服务器之间。普遍的服务器都是有两块网卡,一块指向互联网,一块指向内网,那么就让Web服务器通过内网的网卡来访问Memcache服务器,我们Memcache的服务器上启动的时候就监听内网的IP地址和端口,内网间的访问能够有效阻止其他非法的访问。# memcached -d -m 1024 -u root -l 00 -p 11211 -c 1024 -P /tmp/memcached.pidMemcache服务器端设置监听通过内网的00的ip的11211端口,占用1024MB内存,并且允许最大1024个并发连接设置防火墙防火墙是简单有效的方式,如果却是两台服务器都是挂在网的,并且需要通过外网IP来访问Memcache的话,那么可以考虑使用防火墙或者代理程序来过滤非法访问。一般我们在Linux下可以使用iptables或者FreeBSD下的ipfw来指定一些规则防止一些非法的访问,比如我们可以设置只允许我们的Web服务器来访问我们Memcache服务器,同时阻止其他的访问。# iptables -F# iptables -P INPUT DROP# iptables -A INPUT -p tcp -s dport 11211 -j ACCEPT# iptables -A INPUT -p udp -s dport 11211 -j ACCEPT上面的iptables规则就是只允许这台Web服务器对Memcache服务器的访问,能够有效的阻止一些非法访问,相应的也可以增加一些其他的规则来加强安全性,这个可以根据自己的需要来做。Memcache的使用使用Memcache的网站一般流量都是比较大的,为了缓解数据库的压力,让Memcache作为一个缓存区域,把部分信息保存在内存中,在前端能够迅速的进行存取。那么一般的焦点就是集中在如何分担数据库压力和进行分布式,毕竟单台Memcache的内存容量的有限的。我这里简单提出我的个人看法,未经实践,权当参考。分布式应用Memcache本来支持分布式,我们客户端稍加改造,更好的支持。我们的key可以适当进行有规律的封装,比如以user为主的网站来说,每个用户都有 User ID,那么可以按照固定的ID来进行提取和存取,比如1开头的用户保存在第一台Memcache服务器上,以2开头的用户
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 计算机网络架构设计的原则与方法试题及答案
- 战略沟通的重要性试题及答案
- 如何进行项目风险评估试题及答案
- 委婉拒绝合同条款回复函
- 重新定义品牌核心价值的方法计划
- 2025【设备租赁合同】设备租赁合同
- 程序调试与优化方法试题及答案
- 班级心理健康知识普及活动计划
- 精炼试题2024年高考数学及答案
- 计算机网络技术基础试题及答案
- 《高效面试技巧课件版》教案
- 实验室精密仪器全面维护保养服务协议
- (三模)2025年沈阳市高中三年级教学质量监测 (三)生物试卷(含答案)
- 拓扑优化与异形结构打印-洞察阐释
- 【绥化】2025年黑龙江绥化市“市委书记进校园”事业单位引进人才287人笔试历年典型考题及考点剖析附带答案详解
- 粉笔协议班电子合同
- 2025年电缆购销合同范本9篇
- 2025+CSCO非小细胞肺癌诊疗指南解读课件
- 中学生学宪法班会课件
- 医院后勤考试试题及答案
- 县人民医院老住院楼装修改造项目可行性研究报告申请报告编写
评论
0/150
提交评论