我试图理解,如何使用Voldermort?说,我有这种情况:

因为,Voldemort是一个键值对。
我需要在3个参数的基础上获取一个值(例如一些文本)。

那么,在这种情况下,关键是什么?我不能对1个值使用3个键,但是应该可以在这3个参数的基础上搜索该值。

我说得通吗

谢谢

编辑1

例如:博客系统。用户发布博客:用户数据存储:姓名,年龄和性别
博客内容(文本)被存储。

现在,如果用户从前端按性别搜索所有博客文章,则需要在这里使用Voldemort:

然后,我的代码应查询voldemort并返回所有以性别为男性的“博客内容(文本)”。

因此,据我了解:

Key = Name, Age and Sex
Value = Text


我正在使用Java。

最佳答案

已编辑答案,以适合问题中添加的示例:

关于Voldemort的要了解的是,这是一个非常简单的键值存储。据我所知,您唯一能做的就是将一个值存储在一个键下,然后通过键来获取这些值。因此,对于您的示例案例,如果您真的想使用Voldemort,则有几种选择。

例如,您说过要为用户存储数据。因此,您可能会有这样的事情:

Key = user-Chad
Value = Name:Chad Birch, Age:26, Sex:Male


现在,如果我要发布新的博客文章,则还需要将其存储在密钥下。因此,您可以执行以下操作:

Key = blog-Chad1
Value = Here is my very first blog post.


现在,您的问题是您需要某种方法来查找由Sex:Male用户编写的所有博客帖子,但是无法直接获取该数据。在这一点上,您必须:


拉出每个用户,检查他们是否是男性,如果是男性,则拉出他们的博客文章。
开始在其他键值对中存储更多内容,以便您进行查找。


要实现#2,您可以添加另一对,如下所示:

Key = search-Sex:Male
Value = Chad1 Chad2 Steve1 ...


然后,当有人搜索“性别:男性”时,您会为此提取出值,将其拆分,然后去获取所有这些博客文章。

那有意义吗?使用k-v存储区与数据库有很大不同,因为您失去了所有这些关系能力。

10-07 15:51