Redis:初学者问题

时间:2012-03-30 19:00:29

标签: java redis jedis

我必须在我的HashMultiMap中存储超过1亿个键值(键可以有多个值)。现在,我想使用Jedis。我从here - Jedis 2.0.0.0.jar下载它,推荐给我here。现在,经过一点点搜索,我找不到任何有助于我作为初学者的好文档:

1)如何使用Jedis(具体来说,我是否必须像在Guava中那样将它视为普通的.jar文件)?

2)如何在Redis中实现HashMultiMap(key可以有多个值)?

3)如何在Redis中执行所有插入,搜索等。

4)我通过搜索Redis找到了许多选项,如Jedis,Redis,Jredis等。这些变化是什么?哪一个让我很高兴解决this

任何信息和/或任何文档的链接对我都有帮助。对不起,如果我提出任何愚蠢的问题,因为我不知道Redis。所以,开始的想法对我来说很有价值。感谢。

3 个答案:

答案 0 :(得分:1)

我担心没有一种简单的方法可以达到你想要的效果。 Redis只有正常的哈希值。一键 - 一个值。

但是,您可以将多个值序列化为字符串,并将 存储为值。当然,您失去了单独插入/更新/删除项目的能力,您每次都必须重置整个值。但这对你来说可能不是问题。

答案 1 :(得分:1)

Redis的内部类型很少,例如lists or sets or associated hashes.我想你可以为你的情况使用套装。序列化数据是更好的,因为内部类型的操作是原子的,你不必担心可能的竞争条件。

答案 2 :(得分:1)

  1. 查看https://github.com/xetorthio/jedis/wikihttp://redis.io/commands
  2. 有几种方法暗示使用list / sortedSet / hashs作为multimap的单个字段。然后 a)制作子数据库以提供分离的命名空间,即限制整个多图(select。和/或 b)使用redis中密钥的丰富语义(参见示例here)。您可以使用常规键/值映射设置/获取您的多重映射,并使用另外描述地图字段的键名称。您有多种选择可以获得您想要的东西。最后一个度假胜地之一是脚本。
  3. 不一定!
  4. afaik,jedis是最成熟的。