如何让多个节点在Redis中存储一个hash map

vlf7wbxs  于 2023-10-15  发布在  Redis
关注(0)|答案(1)|浏览(172)

在Redis的集群模式下,一段具有特定键的数据必须存储在特定的节点中,无论它具有什么数据结构(例如,列表/散列)?
例如,我有一个hash map:

HMSET website google www.google.com yahoo www.yahoo.com

哈希Map的键是“website”,哈希Map有数据{google:www.google.com,yahoo:www.yahoo.com},在我的理解中,哈希Map只存储在集群的一个节点中。当散列Map很大时(例如,一个哈希Map中有400 M个键值对)。
我的问题是:有没有一种方法可以在集群中自动分发相同键的哈希Map的内容?例如,在节点0中存储对{google:www.google.com},在节点1中存储对{yahoo www.yahoo.com},当散列Map的键仍然是“website”时?

kuuvgm7e

kuuvgm7e1#

在Redis的集群模式下,一段具有特定键的数据必须存储在特定的节点中,无论它具有什么数据结构(例如,列表/散列)?
是的-每个键都Map到一个哈希槽,由单个集群示例管理。
我的问题是:有没有一种方法可以在集群中自动分发相同键的哈希Map的内容?
否-数据在关键级别上分布在节点之间。给定键的数据结构不能分布在多个分片之间。要分发数据,您必须使用更多的键对其进行建模。
正确地建模您的需求需要知道您将对分布式“哈希Map”执行什么类型的操作及其各自的频率。请随意将此信息添加到问题中,或打开一个更专注于您的要求的新问题。

相关问题