Per connettere Django a Redis, devo aprire la connessione per ogni vista:
import redis
cacheDB = redis.StrictRedis()
cacheDB.sadd("new_post", post.id)
C'è un modo per creare una singola connessione da qualche parte e importarla in ogni vista?
risposte:
4 per risposta № 1Puoi usare django-Redis, che consente di utilizzare Redis come backend per il framework cache di Django pool di connessioni.
Utilizzo di base:
# settings.py
CACHES = {
"default": {
"BACKEND": "redis_cache.cache.RedisCache",
"LOCATION": "127.0.0.1:6379:1",
}
}
Quindi puoi usarlo nel tuo codice di visualizzazione:
from django.core.cache import cache
cache.set("foo", "bar")
Per sadd
puoi usare il client Redis raw:
>>> from django_redis import get_redis_connection
>>> con = get_redis_connection("default")
>>> con
<redis.client.Redis object at 0x2dc4510>