Django-DRFメモリキャッシュメカニズム
公式文書:http://chibisov.github.io/drf-extensions/docs/ 位置:Caching - CacheResponsemixin 1.拡張パッケージの取り付け一般公共データ、ホームページ記事、商品などの設定キャッシュがいいです。 ユーザ操作でデータを適時に更新する必要がある場合は、キャッシュを設定する必要はありません。 はメモリキャッシュ機構であるため、コンピュータが再起動するたびにキャッシュが無効になります。
pip install drf-extensions
2.setting.pyを設定します(デフォルト設定されています)。REST_FRAMEWORK_EXTENSIONS = {
'DEFAULT_OBJECT_CACHE_KEY_FUNC':
'rest_framework_extensions.utils.default_object_cache_key_func',
'DEFAULT_LIST_CACHE_KEY_FUNC':
'rest_framework_extensions.utils.default_list_cache_key_func',
}
.Views.pyで導入・使用し、直接CacheResponsemixinを後継クラスの先頭に置く。from myapps.serializers import UserSerializer
from rest_framework_extensions.cache.mixins import CacheResponseMixin
class UserViewSet(CacheResponseMixin, viewsets.ModelViewSet):
serializer_class = UserSerializer
4.キャッシュの有効期限を設定し、データの更新を保持し、古いデータの長時間保持を防止する。setting.pyに設定する#DRF
REST_FRAMEWORK_EXTENSIONS = {
'DEFAULT_CACHE_RESPONSE_TIMEOUT': 60 * 15
}
まとめ: