2012-02-22 5 views
1

私はRedisので遊んで、私は、MySQLを持っている表を再作成したかったんです。ここで私はそれを作成するために使用mysqlコマンドです:私はRedisの周りを再生すると2つの列を互いにユニークにすることはできますか?またはredisで複合主キーを使用しますか?

3:1 
3:2 
3:3 
4:1 

、と試してみてください。

CREATE TABLE data_table(
     key1 INT SIGNED NOT NULL, 
     value1 INT SIGNED NOT NULL, 
     PRIMARY KEY (key1,value1) 
    ); 

私のデータは、基本的には、のような互いにユニークな番号を、2つの列であります上記のデータを作成するために、 '3'キーは入力した最後の値に置き換えられます。この作業を赤字で行う方法はありますか?

答えて

5

をvalue1オブジェクト(KEY1オブジェクトに1つ)のシンプルなセットを使用することです、あなたのデータを表現するためのRedisとのより良いモデル。たとえば、次の、あなたはRedisの中に保存することができます:

3 -> set(1, 2, 3) 
4 -> set(1) 

次のコマンドを使用して:

sadd 3 1 2 3 
sadd 4 1 

あなたが使用してKEY1 = 3のすべての値を取得することができます。

smembers 3 

あなたは

sismember 3 2 
:keys1 = 3、値1 = 2が使用して存在しているかどうかを確認することができあなたはRedisのリレーショナルモデルをマップしようとしない必要がありますので、の

Redisのは、リレーショナル・データベース・システムではありません。代わりに、プログラミング言語のメモリ内データ構造を使用している場合のように、データを構造化してアクセスする方法について考える必要があります。

関連する問題