2011-09-12 78 views
2

我想在一個django項目中使用多個緩存引擎。在例子中,我使用了sorl.thumbnail,它生成了許多sql查詢來獲取/設置模型圖像的縮略圖。爲了緩存這個查詢,我使用了memcached後端。但是,其他緩存停止工作,我的意思是模板緩存{% cache ... %},也通過API cache.get(),cache.set()。我想是這樣的Django多緩存後端

CACHES = { 
'default': { 
    'BACKEND': 'django.core.cache.backends.memcached.MemcachedCache', 
    'LOCATION': '127.0.0.1:11211', 
    }, 
'filebased': { 
    'BACKEND': 'django.core.cache.backends.filebased.FileBasedCache', 

    } 

}

如何,我可以在模板中使用「基於文件的緩存?因爲{%緩存%}使用memcached的後端,它會產生許多疑問,特別是利用樹木(Django的MPTT)

回答

4

通過API,你可以這樣做:

from django.core import cache 
filebased_cache = cache.get_cache('filebased') 
filebased_cache.set('blah', 1) 

恐怕模板緩存沒有提供使用另一種方法而不是默認方式。如果你想這樣做,你可能必須自己寫。