在Redis上组织数据

时间:2018-10-15 12:01:48

标签: redis

我从Redis开始,我很难理解如何在其上组织数据。 我想将巴西的州存储在Redis上。 PS:巴西有27个州,在此示例中,我使用的数字较小。

我的数据分为sigla(前缀),nome(州名)和região(地区)。

Sigla | Nome |雷吉奥
AC |英亩北方
AL | Alagoas |诺德斯特
AP |阿玛帕|北方
AM |亚马孙|北方
MT |马托·格罗索|中央大剧院
SC |圣卡塔琳娜州|南
SP |圣保罗| Suldeste

如何使用以下搜索方式将其保存在Redis上: 所有州 特定区域的所有州 名称以“ A”开头的所有州

我尝试使用HMSET,但是还没有找到一种方法来保存数据,而我可以将其过滤掉。

我应该将所有数据以json格式保存在唯一键(状态)上,然后直接在后端服务上过滤结果,而不是在Redis上直接过滤吗?

1 个答案:

答案 0 :(得分:1)

在Redis中,根据要读取的数据存储数据。有时这意味着在不同的数据结构中拥有相同的数据。

  • 所有状态:这可以通过以下方式解决:将每个字段表示为状态的散列,并调用HGETALL。或者,使用Set。
  • 区域中的所有状态:通常使用散列或每个区域的Set来解决,例如SADD region:Norte AC AP AM,然后致电SMEMBERS region:Norte
  • 名称以“ A”开头的所有州:将排序集用作词典索引-有关详细信息,请参见https://redis.io/topics/indexes#lexicographical-indexes