我是 django_redis 库的新手。我正在将此 confs 用于带有 redis 的会话存储:
...
CACHES = {
"default": {
"BACKEND": "django_redis.cache.RedisCache",
"LOCATION": "redis://127.0.0.1:6379/1",
"OPTIONS": {
"CLIENT_CLASS": "django_redis.client.DefaultClient",
},
"KEY_PREFIX": ""
}
}
SESSION_ENGINE = 'django.contrib.sessions.backends.cached_db'
SESSION_CACHE_ALIAS = "default"
...
一切似乎都正常工作。但是,当我检查数据库上会话的密钥(默认 sqlite)然后将该密钥值与 redis-cli 中的 redis db 进行比较时,会话密钥是不同的。在 redis-cli 版本中,会话密钥有一个前缀,即使我没有设置前缀。
会话密钥的数据库(sqlite)版本
skxn0oqp3goeipt6hnwvpeyp83hhoao0
redis-cli 版本的密钥
127.0.0.1:6379[1]> keys *
1) ":1:django.contrib.sessions.cached_dbskxn0oqp3goeipt6hnwvpeyp83hhoao0"
127.0.0.1:6379[1]>
这是正常的吗?