- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
6-2 下载安装php-memcache扩展 1:选择合适版本下载,并放到php/ext目录下 2:修改php.ini,加如下句 extension=php_memcache.dll3:重启apache /pierre/ 6-3 使用memcache扩展 创建memcache对象 $mem = new memcache(); 添加服务器 $mem-addServer(); 断开服务器: $mem-close() 数据操作命令 add replace get delete set increment decrement flush 7.0 memcached分布式 1:计算的分布尽量平均 2:如果新增/减少了服务器, 对于其他服务器的影响要尽量小. 可以通过新增或删除后 一段时间内的缓存命中率来考核 7-1 多服务器分布算法 最容易想到的分布算法:余数法 就是“根据服务器台数的余数进行分散”。求得键的整 数哈希值,再除以服务器台数,根据其余数来选择服务器。 7-2 余数分布式的缺陷 7-3 一致性哈希算法 Consistent?Hashing 原理: 首先求出memcached服务器(节点)的哈希值,并将其配置到0~2^32 的圆(continuum)上。 然后用同样的方法求出存储数据的键的哈希值,并映射到圆上。 然后从数 据映射到的位置开始顺时针查找,将数据保存到找到的第一个服务器上。 如果超过2^32 仍然找不到 服务器,就会保存到第一台memcached服务器上。 7-3 一致性哈希算法图解 7-4 一致性哈希之思考 1:在一致性哈希算法中,每增加或减少1个缓存节点, 有几个节点受到了影响? 2:如何让产生的影响均匀分散给各节点?? 7-5 增加虚拟节点 Consistent?Hashing的实现方法还采用了虚拟节点的思想。 使用一般的hash函数的话,服务器的映射地点的分布非常不均匀。 因此,使用虚拟节点的思想,为每个物理节点(服务器)在圆环上分配100~200个点。 这样就能抑制分布不均匀,最大限度地减小服务器增减时的缓存重新分布。 7-6 实战课题 根据前面介绍的一致性哈希算法的思路, 用PHP实现一个支持虚拟节点的一致性哈希算法. 要求: 1:可以增加memcached节点 2:节点映射成虚节点 3:可以减少节点 难点: 节点与虚节点的映射 zixue.it 燕十八 精品PHP教程 —高端PHP培训 高性能架构班! 燕十八 主讲 memcached -高性能内存k-v缓存服务器 学习目录 memcached介绍 memcached安装 memcached操作 内存存储机制 数据过期与删除机制 php操作memcached 多服务器集群算法 缓存无底洞效应 缓存雪崩 老数据被踢现象 结课作业 memcached是LiveJournal旗下 Danga?Interactive公司开发的一款软件。 www.LiveJ(需翻墙) (已被收购) (项目主页) 1.1:memcached是谁开发的? 1.2:memcached是什么? About Memcached memcached is a high-performance, distributed memory object caching system, generic in nature, but originally intended for use in speeding up dynamic web applications by alleviating database load. You can think of it as a short-term memory for your applications. memcached是一个高性能,分布式内存对象缓存系统,具备通用性,但本来的目的是用于为动态web程序加速,并减轻数据库的的负担. memcached mem = memory 内存 cached = 缓存 1-3 memcached 缓存图解 1-4 谁在使用memcached 2-1 memcached在win下的安装 在windows下安装,相对简单, 从官方网站下载相应的二进制文件, 解压到磁盘即可 2-2 memcached在linux下的安装 libevent官网:/ Memcached官网: ? 安装 libevent(memcached依赖libevent) # tar zxvf libevent-2.0.1-stable.tar.gz # cd libevent-2.0.21-stable # ./configure --prefix=/usr # make # make insta
文档评论(0)