因为毕设的需求,项目中要用到Memcache服务,来降低对数据库的请求压力。虽然只有我一个人访问,看起来加不加缓存都没有必要;但是从设计上来讲,一个稳健的服务,没有缓存怎么能行呢?经过一些搜索,发现一致性哈希算法是目前较为流行的缓存服务选择方案。因此来整理总结下,以便于自己的应用。
本文代码都放到了gitee仓库,有兴趣的可以拿去测一测。
https://gitee.com/marksinoberg/consistent_hash
概念
百科释义
一致性哈希算法简单来说就是一种分布式哈希(DHT)实现算法,设计目标是为了解决因特网中的热点(Hot spot)问题,初衷和CARP十分类似。一致性哈希修正了CARP使用的简 单哈希算法带来的问题,使得分布式哈希(DHT)可以在P2P环境中真正得到应用。
哈希算法评价标准
在动态的缓存环境中,有下面这么几条标准,可以用来判断一个哈希算法的好坏。借用网上 一