読者です 読者をやめる 読者になる 読者になる

Django 1.3では複数のキャッシュの設定ができる

Django

ふとDjango 1.3 beta1を触ってみたら、今までのCACHE_BACKENDという設定に変わって、CACHESという設定が可能になった。

これを使うと複数のキャッシュを指定できる。

# settings.py
CACHES = {
    'default': {
        'BACKEND': 'django.core.cache.backends.memcached.MemcachedCache',
        'LOCATION': '127.0.0.1:11211',
    },
    'alternative': {
        'BACKEND': 'django.core.cache.backends.memcached.MemcachedCache',
        'LOCATION': '127.0.0.1:11212',
    }
}

django.core.cache.get_cacheでキャッシュソース名を指定してキャッシュオブジェクトを取得。

>>> from django.core import cache
>>> conn1 = cache.get_cache('alternative')
>>> conn1.set('spam', 'SPAM')
>>> conn1.get('spam')
'SPAM'
>>> conn2 = cache.get_cache('default')
>>> conn2.get('spam')

これは昔から非常に欲しかった機能なのでかなり嬉しい。やっぱりDjangoは最高だな!