我可以使两列彼此唯一吗?还是在redis中使用复合主键?

我在玩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中工作?

回答:

使用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映射关系模型。相反,您需要考虑如何构造和访问数据,就像使用编程语言中的内存数据结构一样。

以上是 我可以使两列彼此唯一吗?还是在redis中使用复合主键? 的全部内容, 来源链接: utcz.com/qa/409522.html

回到顶部