由于最佳实践是在单个服务器上将经常一起检索的相关键(使用 multiGet)分组以获得最佳性能,因此我对为此构建的客户端函数所采用的隐式机制有几个问题。
我已经看到了两种不同的方法来服务于我认为使用 libmemcache(特别是 php-memcached)的相同目的。第一种也是最明显的方法是使用 getByKey/setByKey 将密钥映射到服务器,第二种是使用选项 OPT_PREFIX_KEY(在 memcached::_construct 下的 php 文档中发布了一个简单的示例),根据文档是“用于为您的项目密钥创建一个'域'”。第二种方法的警告是它只能在每个实例的基础上设置,这可能是也可能不是一件好事。
因此,除非我完全弄错了,而且这两种方法实际上并没有达到相同的目的;与其他方法相比,这有什么明显的好处吗?
当我谈到这个话题时,我的另一个问题是:在一致的散列场景中将密钥映射到服务器有什么影响(如果有的话)?我假设如果一个节点发生故障,自由格式密钥将简单地重新映射到新服务器而没有任何问题..
谢谢!