脚本宝典收集整理的这篇文章主要介绍了memcache一致性hash的php实现方法,脚本宝典觉得挺不错的,现在分享给大家,也给大家做个参考。
本文实例讲述了memcache一致性hash的PHP实现方法。分享给大家供大家参考。具体如下:
最近在看一些分布式方面的文章,所以就用PHP实现一致性hash来练练手,以前一般用的是最原始的hash取模做 分布式,当生产过程中添加或删除一台memcache都会造成数据的全部失效,一致性hash就是为了解决这个问题,把失效数据降到最低,相关资料可以 GOOGLE一下!
PHP实现效率有一定的缺失,如果要高效率,还是写扩展比较好
经测试,5个memcache,每个memcache生成100个虚拟节点,set加get1000次,与单个memcache直接set加get慢5倍,所以效率一般,有待优化!
memcache的配置 ip+端口+虚拟节点序列号 做hash,使用的是crc32,形成一个闭环。 对要操作的key进行crc32 二分法在虚拟节点环中查找最近的一个虚拟节点 从虚拟节点中提取真实的memcache ip和端口,做单例连接
代码如下:以上是脚本宝典为你收集整理的memcache一致性hash的php实现方法全部内容,希望文章能够帮你解决memcache一致性hash的php实现方法所遇到的问题。
本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。