使用 Redis 防止字符串重复

Jul*_*enB 3 redis

是否有任何正确的方法可以防止使用 Redis 插入重复项?

我正在尝试存储多个字符串,并且键字符串都需要是唯一的。如果字符串的值或键已经存在,我想让 Redis拒绝创建字符串。

谢谢!

Ofe*_*lig 5

我想应该有几种方法。

唯一性是否必须在一对键/值的范围内?即可以多次使用相同的,每个都与不同的键相关联吗?

如果是这样,一个更简单的(但一如既往 - 这实际上取决于您的用例和您需要的键/值对的数量,读/写比率等)是这样的:

使用类型的键SET。每个键将只包含一个值(成员),而不是通常使用集合来保存集合。

这样,每当您尝试创建名称已经存在的键时,Redis 都会拒绝。每当您尝试为给定键创建值时,该值已作为键集的成员存在,Redis 也会拒绝。