我正在玩redis并希望重新创建一个我在mysql中的表。这是我用来创建它的mysql命令:
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中?
答案 0 :(得分:5)
使用Redis表示数据的更好模型是使用简单的value1对象集(每个key1对象一个)。按照示例,您可以存储在Redis中:
3 -> set( 1, 2, 3 )
4 -> set( 1 )
使用以下命令:
sadd 3 1 2 3
sadd 4 1
您可以使用以下方法获取key1 = 3的所有值:
smembers 3
您可以使用以下方法检查keys1 = 3,value1 = 2是否存在:
sismember 3 2
Redis不是关系数据库系统,因此您不应尝试使用Redis映射关系模型。相反,您需要考虑如何构建和访问数据,就像使用编程语言中的内存数据结构一样。