将Django的缓存后端切换到Redis上
首先
由于我个人缺乏对NoSQL和缓存的知识,因此本文的目标读者是以下类型的人。
-
- windowsユーザー
-
- NoSQL初学者
-
- キャッシュ初学者
- Djnagoプロジェクトを作成済みで、キャッシュを使いたい方
本文的主要内容是关于在Django的缓存后端中使用Redis,所以默认已完成Redis的安装。关于Redis的安装,我们几乎跳过不讲!
安装 Redis
1. 下载适用于Windows的Redis的msi文件。
从 https://github.com/microsoftarchive/redis/releases/tag/win-3.0.504 下载并启动 “Redis-x64-3.0.504.msi” 文件。
当安装程序启动后,不断点击“下一步”按钮。
安装程序的内容与普通安装程序一样。笑
-
- 規約同意
-
- インストール先ディレクトリ
-
- →環境変数にpathを追加のチェックボックスがあるので、チェックを付けておくことのが無難。
何番ポートを使用するか
→デフォルトは「6379」。ファイアーウォールの規則に追加するかのチェックボックスがあるので、
個別で設定したくない場合は、チェックを入れることを推奨する。
3. 确认安装完毕。
打开命令提示符,输入以下内容,然后按下回车键。
> redis-cli.exe
如果提示符变为以下内容,则表示安装完成。
127.0.0.1:6379>
安装django-redis
用pip安装django-redis。
> pip install django-redis
在django项目的settings.py文件中添加缓存配置。
在settings.py文件中添加以下内容。
CACHES = {
'default': {
'BACKEND': 'django_redis.cache.RedisCache',
'LOCATION': 'redis://localhost:6379/',
'OPTIONS': {
'CLIENT_CLASS': 'django_redis.client.DefaultClient'
}
}
}
以下为默认CASHES设置的参考
CACHES = {
'default': {
'BACKEND': 'django.core.cache.backends.locmem.LocMemCache',
}
}
3. 这次,将缓存模板的部分内容。
因为对于现在时刻进行缓存是比较简单明了的,所以我会缓存现在时刻以进行确认。
参考:使用缓存
{% load cache %}
<h2>こっちはキャッシュせず</h2>
<span>{{ now }}</span>
{% cache 240 now_cache%}
<h2>ここはキャッシュする</h2>
<span>{{ now }}</span>
{% endcache %}
请参考参考网站上的“使用缓存”,因为缓存的范围可以是视图单位或者网站单位等等不同的范围。
最后
RDBばかり使っていたせいで、Redisの値の格納の仕方に違和感を感じてしまう。
データベース名は?テーブル名は?となるが、そこがKVS(Key Value Store)の特徴といえよう。
柔軟な使用が見込めそう。
○謎の宣言
ページのキャッシュなどを活用して、レスポンスの早いwebページの作成を心掛けたい。
参考网站
-
- 33分4秒で理解できるDjangoアプリのキャッシュ実装 – LT対策と賞味期限という話
-
- django-redisを使う
- キャッシュを使う