【问题标题】:Django Use multiple redis for cachingDjango使用多个redis进行缓存
【发布时间】:2021-08-29 14:22:54
【问题描述】:

我有一个 Django 项目,我正在使用 django-redis,我想在其中实现不同类型的缓存,

  1. 缓存搜索查询
  2. 缓存静态页面
  3. 缓存用户数据(例如:在线状态)

我可以为不同类型的缓存添加不同的前缀,但我想为我拥有的所有不同的缓存使用不同的 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


【解决方案1】:

好吧,我在寻找其他东西时找到了答案

而不是使用

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')

这么小的东西大部分文档都没有单独提及,看文档的时候可能会漏掉。

【讨论】:

    猜你喜欢
    • 2020-01-27
    • 2014-03-22
    • 2019-12-08
    • 1970-01-01
    • 1970-01-01
    • 2017-01-24
    • 2018-10-12
    • 2020-06-23
    • 2013-12-31
    相关资源
    最近更新 更多