首页 > 解决方案 > Django是否缓存有效负载反序列化

问题描述

使用 Django==2.2.13,djangorestframework==3.8.1

我正在考虑在传入请求的中间件中做一些工作。
工作的一部分是反序列化有效负载并检查它是否具有某些内容(键/值)。
Django 视图正在反序列化下游的有效负载。

我有几个问题:

  1. Django 会缓存我的有效负载反序列化,还是会在视图中再次执行它?
  2. 如果 Django 不缓存反序列化的有效负载,有没有办法让它这样做?
  3. 与中间件相比,在视图中完成反序列化过程是否需要更长的时间?

谢谢!

标签: djangocachingdjango-viewspayloaddjango-middleware

解决方案


  1. 不是默认的。
  2. 您可以使用Django 的缓存框架将有效负载存储一段时间。
  3. 反序列化应该由DRF 序列化程序处理,时间性能应该相似,但是用它代替视图是一种更清洁的方法。

推荐阅读