使用Redis进行Django缓存

时间:2019-09-27 13:02:37

标签: python django redis django-cache django-redis

我已经在以下博客中使用Redis实现了django缓存:https://realpython.com/caching-in-django-with-redis/

因此,我按照此步骤安装了软件包, 已添加

CACHES = {
"default": {
    "BACKEND": "redis_cache.RedisCache",
    "LOCATION": "redis://127.0.0.1:8000/",
    "OPTIONS": {
        "CLIENT_CLASS": "django_redis.client.DefaultClient"
    },
    "KEY_PREFIX": "example"
}

}

然后进入视图。

from django.conf import settings
from django.core.cache.backends.base import DEFAULT_TIMEOUT
from django.views.decorators.cache import cache_page

CACHE_TTL = getattr(settings, 'CACHE_TTL', DEFAULT_TIMEOUT)

,然后为该函数添加装饰器

@cache_page(CACHE_TTL)
@login_required_dietitian
def patient_profile(request, id):
    data = {}
    return render(request, 'profile.html', {'data':data})

然后在运行服务器时出现此错误

  

redis.exceptions.ConnectionError:服务器关闭了连接。

我是这种缓存技术的新手,有什么建议可以解决这个问题吗?

1 个答案:

答案 0 :(得分:0)

您的配置在端口8000上指定Redis,默认情况下,Redis在端口6379上运行。看起来它试图连接Django应用,因此出现连接错误。 Redis作为一个独立的进程运行,在端口6379上侦听请求。