Para conectar o Django ao Redis, tenho que abrir a conexão para cada visualização:
import redis
cacheDB = redis.StrictRedis()
cacheDB.sadd("new_post", post.id)
Existe uma maneira de criar uma única conexão em algum lugar e importá-la em cada exibição?
Respostas:
4 para resposta № 1Você pode usar django-redis, que permite usar o Redis como backend para a estrutura de cache do Django. pool de conexão.
Uso básico:
# settings.py
CACHES = {
"default": {
"BACKEND": "redis_cache.cache.RedisCache",
"LOCATION": "127.0.0.1:6379:1",
}
}
Então você pode usá-lo em seu código de visão:
from django.core.cache import cache
cache.set("foo", "bar")
Para sadd
você pode usar o cliente bruto do Redis:
>>> from django_redis import get_redis_connection
>>> con = get_redis_connection("default")
>>> con
<redis.client.Redis object at 0x2dc4510>