DjangoのキャッシュにRedisを使う!!django-redisの使い方とDjango4系での変更点
今回はDjangoのキャッシュにRedisを使う方法をまとめます。docker composeを使って、1. Django, 2. Postgresql, 3. Redisのコンテナを立てます。
Redisとは?
Redisとは、インメモリのデータストアのことで今回はこれをキャッシュで利用します。とりあえずとても高速です。
バージョン
重要:Django3系と、4系でRedisの設定方法が異なります!
正確には、Django4系から新たにサポートされた機能のため、3系の設定方法は4系でも使えますが、4系の設定方法は3系では使えません。
よってここからは1.Django3系の方法2.Django4系の方法に分けて記述します。
python 3.9
1. Django3系の方法
Django==3.2
psycopg2==2.9.3
django-redis==5.2.0
2. Django4系の方法
Django==4.0
psycopg2==2.9.3
redis==4.1.0
サンプルコード
1.Django3のredis設定方法
Django3の場合はdjango-redisというライブラリを使います。
ライブラリをインストールした後、settings.pyを↓のように追記します。
# ↑略
# Django3の時のredisの設定
CACHES = {
'default': {
'BACKEND': 'django_redis.cache.RedisCache',
'LOCATION': 'redis://redis:6379', # ここを変える
'OPTIONS': {
'CLIENT_CLASS': 'django_redis.client.DefaultClient'
}
}
}
# ↓略
今回はdocker composeを使っているのでredis://redis:6379と書いていますが、そうでない場合は、LOCATIONの部分に、Redisサーバーのエンドポイントを指定すれば完了です。
2.Django4のredis設定方法
Django4ではredis-pyという薄いライブラリを使います。
redis-pyをインストールしたらsettings.pyに↓のように追記します。
# ↑略
# Django4の時のredisの設定
CACHES = {
'default': {
'BACKEND': 'django.core.cache.backends.redis.RedisCache',
'LOCATION': 'redis://redis:6379', # ここを変える
}
}
# ↓略
動作確認
かなり早く、msならぬμsくらいでレスポンスが返って来るときもあります。
参考
Django3、django-redis
ディスカッション
コメント一覧
まだ、コメントがありません