从redis中获取所有键,其中包含一些字符串

时间:2014-02-25 07:10:12

标签: redis django-redis

我将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一样的模式的密钥。

1 个答案:

答案 0 :(得分:1)

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

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

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

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

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

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