Django与Redis的连接

时间:2014-11-02 11:30:26

标签: python django redis

要将Django连接到Redis,我必须为每个视图打开连接:

import redis
cacheDB = redis.StrictRedis()
cacheDB.sadd("new_post", post.id)

有没有办法在某处创建单个连接并将其导入每个视图?

1 个答案:

答案 0 :(得分:4)

您可以使用django-redis,它允许使用Redis作为Django缓存框架的后端。它支持connection pooling

基本用法:

# 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>