1

我需要在 Redis 缓存中使用两个键值,以便我可以基于一个键进行检索?请帮助解决这个问题,

两个键都是字符串,值是一个实体,其中键值也将出现。

例子:

: <compressed_json>

json结构:

    result{
         a{ 
           key: <something>
           b:<something>
           c:<something>
    } 
   }

我需要通过使用键或'b'从redis获取价值,但我不会同时拥有这两个值。

4

2 回答 2

1

另一种解决方案是部署RediSQL,它可以让您访问功能齐全的 SQL 数据库,您可以在其中查询两个键。

于 2020-12-06T18:52:32.227 回答
1

要实现该功能,它需要构建一个简单的倒排索引,如下图所示,将数据存储为三个部分。

具有倒排索引的索引数据

  • 为两个key建立两个索引,索引只是一个Redis String类型,key使用index:{key value}这样的格式,value存放的是文档的key,即JSON字符串。
  • json字符串也存储为Redis String类型,key为Doc:{ID},ID可以动态生成,例如UUID/GUID。

按索引获取文档(键 1 或键 N)

  • 将值组合到索引:{key value} 格式
  • 使用组合字符串键调用 Redis 检索文档键
  • 使用 doc 键调用 Redis 检索文档正文。

在此处输入图像描述

于 2020-07-14T13:56:24.387 回答