Django Redis 在键上附加相同的注释
Django Redis appends same annotaion on key
我正在使用 Django-Redis 来存储一些简单的数据。
对我来说一切正常,但我想知道为什么 Django-Redis 会在我保存字符串 :1:
.
的每个键前加上前缀
设置键和值(有效)
cache.set("foo", "bar", timeout=100)
获取键和值(有效)
print cache.get("foo")
Redis CLI
1) ":1:foo"
在 CLI 中获取密钥
GET foo
Result: (nil)
GET :1:foo
Result: "\x80\x02U\x06barXq\x01."
此致
这实际上是 Django 缓存的一部分 API。具体来说,缓存后端使用 cache prefix (in your case, the empty string) and a version number(在您的情况下为 1)转换密钥。
前者允许服务器在共享相同的缓存后端时使用名称空间来控制冲突,后者允许您使用版本控制来避免在更改缓存数据格式时刷新数据库。
我正在使用 Django-Redis 来存储一些简单的数据。
对我来说一切正常,但我想知道为什么 Django-Redis 会在我保存字符串 :1:
.
设置键和值(有效)
cache.set("foo", "bar", timeout=100)
获取键和值(有效)
print cache.get("foo")
Redis CLI
1) ":1:foo"
在 CLI 中获取密钥
GET foo
Result: (nil)
GET :1:foo
Result: "\x80\x02U\x06barXq\x01."
此致
这实际上是 Django 缓存的一部分 API。具体来说,缓存后端使用 cache prefix (in your case, the empty string) and a version number(在您的情况下为 1)转换密钥。
前者允许服务器在共享相同的缓存后端时使用名称空间来控制冲突,后者允许您使用版本控制来避免在更改缓存数据格式时刷新数据库。