我有一个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",
}
}
我在寻找其他时找到了答案
而不是使用
from django.core.cache import cache
cache.set('hello', 'bye')
cache.get('hello')
它将数据存储在默认缓存中使用类似于的东西
from django.core.cache import caches
c = caches['static_page']
c.set('hello', 'bye')
c.get('hello')
这是一件很小的事情,以至于大多数文档都没有单独提到它,在浏览文档时您可能会错过它。