2012-02-22 35 views
1

我在用redis玩耍,想重新創建一個我在mysql中使用的表。下面是我用它來創建它的mysql命令:我可以製作兩列彼此獨一無二的列嗎?或在redis中使用複合主鍵?

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

我的數據基本上是兩列所特有的相互數字,如:

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

當我玩的Redis,並嘗試要創建上述數據,'3'鍵只會被我輸入的最後一個值所取代。有沒有辦法在redis中完成這項工作?

回答

5

使用Redis來更好地表示數據的模型是使用簡單的value1對象集合(每個key1對象一個)。通過使用

sadd 3 1 2 3 
sadd 4 1 

你可以得到鍵1 = 3的所有值:下面的例子中,你可以在Redis的存儲:

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

用下面的命令

smembers 3 

你可以檢查是否使用鍵1 = 3,值1 = 2:

sismember 3 2 

Redis不是關係數據庫系統,因此您不應該嘗試使用Redis映射關係模型。相反,您需要考慮如何構建和訪問數據,就像使用編程語言的內存數據結構一樣。

相關問題