2011-09-12 7 views
2

1つの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のバックエンドを使用し、それは特にあなたがこれを行うことができ、API経由の木(ジャンゴ-MPTT)

答えて

4

を使用して、多くのクエリを生成するので:

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

私はテンプレートキャッシュ怖いですデフォルト以外のものを使用する方法はありません。これをしたい場合は、おそらくあなた自身で書く必要があります。

関連する問題