2012-03-30 6 views
0

私のHashMultiMapには、100万を超えるキー値を格納する必要があります(キーは複数の値を持つことができます)。今、私はJedisを使っています。私からhere - Jedis 2.0.0.0.jarからダウンロードしてください。hereです。ちょっとした検索の後、私は初心者として私を助ける素晴らしい文書を見つけることができませんでした:Redis:初心者の問題

1)Jedisの使い方(具体的には、javaのような通常の.jarファイルとして扱わなければなりませんか?グアバ)?

2)RedisでHashMultiMap(キーは複数の値を持つことができます)を実装する方法は?

3)Redisですべての挿入、検索などを実行する方法。

4)私はRedisを検索して、Jedis、Redis、Jredisなどの多くのオプションを見つけました。これらのバリエーションは何ですか?そして、どちらが解決するために私にいいですかthis

任意のドキュメントへの任意の情報やリンクが役立ちます。申し訳ありませんが、何かばかげた質問があれば、私はレディスについて全く知らないので、尋ねます。だから、始めのアイデアは私にとって貴重なものになるでしょう。ありがとう。

+0

Redisにはユーザーマニュアルがあります.Jedisにはプロジェクトページがあります。あなたはそこに戻ってくるだけなので、ソースから始めるべきです。 – ControlAltDel

+0

また、質問ごとに1つの質問をする必要があります:) –

答えて

1

私はあなたが望むものを達成するための簡単な方法はないと思います。 Redisは通常のハッシュしか持っていません。 1つの重要な値。

ただし、複数の値を文字列にシリアル化し、という値をとして保存することができます。もちろん、アイテムを個別に挿入/更新/削除する能力を失うと、毎回全体の値をリセットする必要があります。しかし、これはあなたにとって問題ではないかもしれません。

+0

OK ..だから、私は(衝突のために)キーの価値を取り、それを文字列に追加する必要があります。組み込みの方法はありませんか? – Arpssss

+0

私はもっとjsonの文字列を考えていましたが、あなたもこれを行うことができます。 –

1

Redisには内部型がほとんどありませんlists or sets or associated hashes.あなたのケースにはセットを使用できますね。内部型の操作はアトミックなので、whleデータをシリアライズするほうが優れているため、可能な競合条件について心配する必要はありません。

1
  1. あなたのマルチマップの単一フィールドとしてリスト/にSortedSet/hashsを使用して意味するものではいくつかの方法がありますhttps://github.com/xetorthio/jedis/wikihttp://redis.io/commands
  2. をチェックしてください。次に、 a)サブデータベースを作成して、全体のマルチマップ(select。および/または b)が、キーが赤字で持つ豊富なセマンティクスを使用するように制限します(例hereを参照)。 mapフィールドをさらに記述したキー名でset/getする通常のキー/値マッピングを使用するだけでマルチマップを構成できます。あなたはあなたが望むものを得るために様々な選択肢を持っています。最後のリゾートの1つはスクリプトです。
  3. 依存!
  4. afaik、jedisは最も成熟しています。