Multiget hole现象

Multiget 定义:

memcache(分布式缓存)一次性获取多个键值,一般由memcached client自行实现。

Multiget hole现象:

加入多个memcache节点后,原本只需要查询一次缓存,现在变成需要进行多次查询缓存,虽然系统负载降低,但是效率并没有提高。

例如:
原本有100个key-value,1个memcache节点,现在增加一个memcache节点,每个机器上各有50个key-value,原本只需要一次查询,现在变成需要两次查询。
加的服务器越多,需要访问的服务器就越多,问题没有好转。

原因

取决于客户端请求多台服务器时是并行和串行

解决办法:

把一组key,按照其共同前缀来分布
比如:user-133-age,user-133-name,user-133-height
应当按照user-133分布到同一个服务器。

你可能感兴趣的:(Multiget hole现象)