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: 连接被服务器关闭。

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

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

首先,按照此 https://computingforgeeks.com/how-to-install-redis-on-fedora/指南将 redis 安装到您的系统中并启动它。就我而言,它是软呢帽,页面上有一个指向 Ubuntu 的链接。

在位置上将端口从 8000 更改为 6379。现在,您将启动并运行。

我鼓励在关于 redis 缓存的教程中这样做

最新更新