【发布时间】:2021-08-29 14:22:54
【问题描述】:
我有一个 Django 项目,我正在使用 django-redis,我想在其中实现不同类型的缓存,
- 缓存搜索查询
- 缓存静态页面
- 缓存用户数据(例如:在线状态)
我可以为不同类型的缓存添加不同的前缀,但我想为我拥有的所有不同的缓存使用不同的 redis 服务器。 我在文档中找不到如何执行此操作的任何内容
我的当前设置
CACHES = {
"default": {
"BACKEND": "django_redis.cache.RedisCache",
"LOCATION": "redis://localhost:6379/1",
"OPTIONS": {
"CLIENT_CLASS": "django_redis.client.DefaultClient",
"PARSER_CLASS": "redis.connection.HiredisParser",
"IGNORE_EXCEPTIONS": True,
},
"KEY_PREFIX": "db_cache",
}
}
我想要什么
CACHES = {
"default": {
"BACKEND": "django_redis.cache.RedisCache",
"LOCATION": "redis://localhost:6379/",
"OPTIONS": {
"CLIENT_CLASS": "django_redis.client.DefaultClient",
"PARSER_CLASS": "redis.connection.HiredisParser",
},
"KEY_PREFIX": "db_cache",
},
'static_page': {
"BACKEND": "django_redis.cache.RedisCache",
"LOCATION": "redis://localhost:6378/",
"OPTIONS": {
"CLIENT_CLASS": "django_redis.client.DefaultClient",
"PARSER_CLASS": "redis.connection.HiredisParser",
"IGNORE_EXCEPTIONS": True,
},
"KEY_PREFIX": "db_cache",
},
'user_data': {
"BACKEND": "django_redis.cache.RedisCache",
"LOCATION": "redis://localhost:6377/",
"OPTIONS": {
"CLIENT_CLASS": "django_redis.client.DefaultClient",
"PARSER_CLASS": "redis.connection.HiredisParser",
},
"KEY_PREFIX": "db_cache",
}
}
【问题讨论】:
-
你有在这些端口上运行的 redis 实例吗?
-
是的,我正在运行这些 redis 服务器,而问题与 redis 服务器无关,它可以是本地内存缓存。或虚拟缓存,它应该适用于一切。
-
这应该是可能的,你得到什么样的错误?
-
我不知道从哪里开始目前我正在使用 cache.set() 和 cache.get() 但它保存在默认数据库中我如何指定数据库
标签: django caching redis django-redis