我试图理解,如何使用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存储区与数据库有很大不同,因为您失去了所有这些关系能力。