Django连接Redis
要把Django和Redis连接起来,我需要为每个视图打开一个连接:
import redis
cacheDB = redis.StrictRedis()
cacheDB.sadd("new_post", post.id)
有没有办法在某个地方创建一个连接,然后在每个视图中导入这个连接呢?
1 个回答
5
你可以使用 django-redis,这个工具可以让你在Django的缓存系统中使用Redis作为后端。它还支持 连接池,这样可以更高效地管理连接。
基本用法:
# settings.py
CACHES = {
'default': {
'BACKEND': 'redis_cache.cache.RedisCache',
'LOCATION': '127.0.0.1:6379:1',
}
}
然后你可以在你的视图代码中使用它:
from django.core.cache import cache
cache.set('foo', 'bar')
对于 sadd
,你可以直接使用原生的Redis客户端:
>>> from django_redis import get_redis_connection
>>> con = get_redis_connection('default')
>>> con
<redis.client.Redis object at 0x2dc4510>