似非プログラマのうんちく

「似非プログラマの覚え書き」出張版

巳年じゃないけど Python やろうぜ(その 18)

キャッシュサーバーの活用

これまではセッションの情報をデータベース(SQLite3)で管理してきましたが、別途キャッシュサーバーを用意して、そちらで管理することもできます。

キャッシュサーバーとしてよく使われるのが Memcached です。Memcachedインストールは済んでいて、サービスが起動しているものと仮定します。*1

python3-memcached をインストールします。

$ pip install python3-memcached

django_test/settings.py に以下を追記します。

# Session engine
# https://docs.djangoproject.com/en/1.10/ref/settings/#session-engine
SESSION_ENGINE = 'django.contrib.sessions.backends.cache'


# Cache
# https://docs.djangoproject.com/en/1.10/ref/settings/#caches
CACHES = {
    'default': {
        'BACKEND': 'django.core.cache.backends.memcached.MemcachedCache',
        'LOCATION': '127.0.0.1:11211',
    }
}

コメントは参照すべきドキュメントの URL を明示するためにつけただけなので、実際には無くても大丈夫です。

Memcached が正しくインストールされていて、かつサービスが開始されていれば、他は何も変更する必要はありません。

Memcached の各 OS ごとのインストール方法については、記事を改めて解説させていただきます。

*1:WindowsLinux 系 OS とで手順が異なります。