0

redis用下面给定的键存储了一些数据
我已经将一些键存储到redis中,比如

key1 = https://abc.net/v/140225014843/css/
key2 = https://abc.net/v/153729007613/css/
key3 = https://abc.net/v/240125414249/css/
key4 = https://abc.net/v/140225014843/css/:tokens
key5 = https://abc.net/v/240125414249/css/:tokens

现在我有 data = 140225014843 我想获取密钥,它的价值是里面有数据。
示例:key1 里面有数据,所以我想从 redis 获取 key1。我正在使用 django-redis。

编辑:
Key4 也有数据,但我只想获取那些模式类似于 key1 的键。

4

1 回答 1

1

您应该重新考虑命名密钥的方式,因为这是一个重要的决定。

您可以为您拥有的每个数据值使用一个列表,该值是,该数据值的“路径”是列表的成员。

例如,在您的情况下,您可以这样做:

redis> RPUSH 140225014843 "css/"
redis> RPUSH 153729007613 "css/"
redis> RPUSH 240125414249 "css/"
redis> RPUSH 140225014843 "css/:tokens"
redis> RPUSH 240125414249 "css/:tokens"

根据数据中的可变部分,您可以调整此方法。例如,如果“css/”总是存在,那么你可以省略它。

此外,您可能不希望列表中有重复项,在这种情况下,您应该使用Set代替。

于 2014-02-25T09:33:19.137 回答