memcache一致性hash的php实现方法

发布时间:2022-04-30 发布网站:脚本宝典
脚本宝典收集整理的这篇文章主要介绍了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,请注明来意。