redisの原理

事情的起源

在之前的项目中,当我想要使用Redis的集群模式(ElastiCache)时遇到了无法使用Mget的问题。
在这种情况下,我开始考虑Redis到底是什么(先不谈在项目中使用前该如何思考。。。),并决定去进行调查。

哈希槽位

我们先不讨论Redis是什么。
将键的值作为CRC16校验和(用于检查数据可靠性的计算值),并找到除以16834的余数。
该余数将被放入哈希槽中。(可以将槽视为节点编号)

节点

散列槽中的值指示了节点的位置,从该节点内部搜索键,然后获取与键相关联的值。

无法使用Mget的原因。

为什么无法通过Mget来实现呢?这是因为会出现这个错误。

ERR CROSSSLOT Keys in request don't hash to the same slot

当启用集群模式时,据说无法通过节点之间传递获取值。

#标签

在实施中,采用了将其偏向另一方的策略。
通过使用哈希标签(用花括号包围的字符串),仅有花括号内的字符串被用于计算哈希槽。
因此,通过使用哈希标签设置的值将被存储在特定节点内。

请提供更多上下文,以便更好地解答您的问题。目前的信息太少,无法准确地进行翻译。