配置第三方包 的緩存功能 github地址:https://github.com/chibisov/drf-extensions
文檔:http://chibisov.github.io/drf-extensions/docs/#cacheresponsemixin
安裝
pip install drf-extensions
1.內存緩存
配置 非常簡單
settings 可不用寫 默認有
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',
}
然后 只需要 在你需要進行緩存的地方進行 配置
例子 CacheResponseMixin 配置上這個 就行了 注意一定要在最先配置這個 順序很重要
from myapps.serializers import UserSerializer
from rest_framework_extensions.cache.mixins import CacheResponseMixin
class UserViewSet(CacheResponseMixin, viewsets.ModelViewSet):
serializer_class = UserSerializer
然后 就是配置過期時間 畢竟 數據也會有更新的 所以加上一個 過期時間
settings
REST_FRAMEWORK_EXTENSIONS = {
'DEFAULT_CACHE_RESPONSE_TIMEOUT': 60 * 15 #秒為單位 自己 隨意更改
}
2.redis 緩存
這個可以更直觀的看著 dir-extensions做了什么
django 連接redis 需要一些 第三方插件 github地址:https://github.com/niwinz/django-redis
安裝
pip install django-redis
配置
settings
CACHES = {
"default": {
"BACKEND": "django_redis.cache.RedisCache",
"LOCATION": "redis://127.0.0.1:6379/1",
"OPTIONS": {
"CLIENT_CLASS": "django_redis.client.DefaultClient",
}
}
}
就這樣 就可以了 至于 redis 的安裝 我這里就不寫了
需要啟動了 redis 在啟動項目 才能連接上
通過命令 keys * 可以查看 緩存 一些規則