2014-11-02 78 views
2

要Django的連接到Redis的,我不得不打開每個視圖連接:Django的連接Redis的

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

有沒有辦法在某處創建一個單獨的連接,並將其導入每個視圖?

回答

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>