DRF缓存】的更多相关文章

对于现在的动态网站来讲,所有的界面展示都是通过客户端请求服务端,服务端再去请求数据库,然后将请求到的数据渲染后返回给客户端.用户每次访问页面都需要去请求数据库,如果同时有多个人访问的话,对于我们的数据库的压力是相当大的. 所以我们会想,对于不是经常变更的数据,或者不需要实时更新展示的数据,我们可以将数据存放在缓存中,用户下次需要数据的时候,服务端直接从缓存中拿到数据返回给用户即可,不需要每次都去数据库查询,这样会大大降低数据库的压力,提升用户访问速度. Django提供了多种缓存方法,具体可以参…
drf缓存给了一个非常方便的扩展,使用起来相当方便 1-   安装 pip install drf-extensions 2-配置 在settings里面增加两项配置 # drf扩展REST_FRAMEWORK_EXTENSIONS = { # 缓存时间 "DEFAULT_CACHE_RESPONSE_TIMEOUT": 60 * 60, # 使用缓存配置(default是settings里面配置好的caches里面的一项配置) "DEFAULT_USER_CACHE&quo…
JWT 相关信息可参考: https://www.jianshu.com/p/576dbf44b2ae DRF JWT 的使用方法: 1. 安装 DRF JWT # pip install djangorestframework-jwt 2. 配置 REST_FRAMEWORK = { "DEFAULT_AUTHENTICATION_CLASSES":("rest_framework_jwt.authentication.JSONWebTokenAuthentication&…
drf-extensions 概述 drf-extensions组件内部提供了 DRF  的本地内存方式的缓存方式 本地内存方式缓存在项目重启后则会消失 官方点击 这里 安装 pip3 install drf-extensions or from github pip3 install https://github.com/chibisov/drf-extensions/archive/master.zip 导入 from rest_framework_extensions.cache.mixi…
DRF原有缓存 Django缓存.配置:https://www.cnblogs.com/Mickey-7/p/15792083.html   Django为基于类的视图提供了一个 method_decorator 装饰器,用于为类视图添加缓存类别的装饰器, cache_page 和 vary_on_cookie cache_page可以指定缓存时间(单位秒) class UserViewSet(viewsets.Viewset): # 为每个用户缓存2个小时的请求url # cache_page…
首页.商品数量.缓存和限速功能开发 将环境切换为本地,vue也切换为本地 轮播图 goods/serializers.py class BannerSerializer(serializers.ModelSerializer): ''' 轮播图 ''' class Meta: model = Banner fields = "__all__" goods/views.py class BannerViewset(mixins.ListModelMixin, viewsets.Gener…
首先完成省市区三级联动 新建areas应用 python ../../manage.py startapp areas 模型类代码 class Area(models.Model): """ 行政区划 """ name = models.CharField(max_length=20, verbose_name='名称') parent = models.ForeignKey('self', on_delete=models.SET_NULL,…
什么情况下使用缓存 1.不经常更新的数据 2.用户经常访问的一些页面,比如商品列表页.商品详情页等 3.用户经常修改的一些操作:购物车.订单中心等 关于DRF缓存扩展可以参考文档:http://chibisov.github.io/drf-extensions/docs/#caching 安装 pip install drf-extensions 使用方法 1.使用装饰器进行特定缓存 可以使用@cache_response对视图类的方法进行特定缓存 class CityView(views.AP…
drf版本控制 基于url的get传参方式 REST_FRAMEWORK={ # "DEFAULT_AUTHENTICATION_CLASSES":["app01.auth.AuthLogin",], # "DEFAULT_PERMISSION_CLASSES":['app01.auth.MyPer'], # "DEFAULT_THROTTLE_CLASSES":["app01.auth.VisitThrottle&…
一.rest-framework之版本控制 1.作用 用于版本的控制 2.内置的版本控制 from rest_framework.versioning import QueryParameterVersioning,AcceptHeaderVersioning,NamespaceVersioning,URLPathVersioning #基于url的get传参方式:QueryParameterVersioning------>如:/versiontest/?version=v1 #基于url的正…