【发布时间】:2014-03-27 06:08:21
【问题描述】:
我将一些数据存储在redis 中,并带有以下给定键
我已经将一些密钥存储到 redis 中,例如
现在我有 data = 140225014843 我想获取密钥,它的价值是里面有数据。
示例:key1 里面有数据,所以我想从 redis 获取 key1。
我正在使用 django-redis。
编辑:
Key4 也有数据,但我只想获取那些模式类似于 key1 的键。
【问题讨论】:
-
我使用了
red.keys("<i>140225014843</i>")。但是这里的输出即将到来['<a href="/default/index/tourl?u=aHR0cHM6Ly9hYmMubmV0L3YvMTQwMjI1MDE0ODQvY3NzLzp0b2tlbnM%3D" rel="nofollow" target="_blank">abc.net/v/14022501484/css/:tokens</a>', '@ 987654322@> .... 我只想要的值'<a href="/default/index/tourl?u=aHR0cHM6Ly9hYmMubmV0L3YvMTQwMjI1MDE0ODQvY3NzLzwvY29kZQ%3D%3D" rel="nofollow" target="_blank">abc.net/v/14022501484/css/</code</a>> -
如何命名你的key在redis中非常重要。在上述结构中,我认为 key 对您尝试执行的操作没有任何用处。您要做的是从模式匹配值中获取密钥,这会消除密钥的所有目的。 URL 中的这些数字是什么(例如 140225014843)?数据的大小是多少?你能改变数据结构吗?
-
数据结构已经更好了。在一次操作中,我得到了数据的价值。像数据 = 140225014843 。数据与 redis 中的其他键映射。像 redis.hget('abc.net', data)... 在这里我可以获取数据的值,所以我想从数据中获取存储到 redis 中的版本化 url(key1)。
-
完全正确!!!我的意思是。如果您的密钥应该是 140225014843 并且 SET 包含所有具有 140225014843 的 url,那会更好吗。这样做您将获得 O(1) 性能
-
感谢您的建议。这是更好的方法
标签: redis django-redis