在Redis上组织数据

3

我正在学习Redis,但是不太理解如何在其中组织数据。我想要将巴西的各个州的信息存储在Redis中。 附注:巴西有27个州,此处只使用较少数量的例子。

我的数据分为三个部分:sigla(前缀)、nome(州名)和região(地区)。

Sigla | Nome | Região
AC | 阿克里 | 北部
AL | 阿拉戈斯 | 东北
AP | 阿马帕 | 北部
AM | 亚马逊 | 北部
MT | 马托格罗索 | 中西部
SC | 圣卡塔琳娜 | 南部
SP | 圣保罗 | 东南部

请问如何将其存储在Redis中,以便进行以下搜索: 所有州 某一特定地区的所有州 名称以“A”开头的所有州

我尝试使用HMSET,但无法找到保存数据并可检索过滤的方法。

是否应将所有数据以json格式保存在唯一的键(states)上,然后直接在后端服务上对结果进行过滤,而不是直接在Redis上进行过滤?

1个回答

3
在Redis中,您根据将如何阅读数据来存储数据。这有时意味着在不同的数据结构中具有相同的数据。
  • 所有状态:可以通过保持哈希表,在其中每个字段都是一个状态,并调用例如 HGETALL 来解决。或者使用Set。
  • 区域内所有状态:通常的解决方案是每个区域都有一个哈希表或Set,例如 SADD region:Norte AC AP AM 然后调用 SMEMBERS region:Norte
  • 名称以“A”开头的所有状态:使用排序集合作为词典索引 - 有关详细信息,请参见https://redis.io/topics/indexes#lexicographical-indexes

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接