什么缓存后端可以在django中实现

时间:2018-06-13 23:42:16

标签: django caching

哪些缓存策略可以在django中实现? 每个缓存后端的优缺点是什么(在易用性和易于开发方面)? 哪个后端应该是生产等的首选。

1 个答案:

答案 0 :(得分:4)

Django支持几个后端。 在这里列出一些关于每个的正面和负面的评论。

  • Memcached :缓存的黄金标准。内存服务,可以非常快的速度返回密钥。如果您的钥匙尺寸非常大,则不是一个好的选择
  • Redis :当您想要缓存非常大的密钥时(例如,为API提供大量渲染的JSON),这是Memcached的一个很好的替代方案。
  • Dynamodb :当您想要缓存非常大的密钥时,另一个很好的替代Memcached。同样可以很好地扩展,只需很少的IT开销。
  • Localmem :仅用于本地测试;不要使用此缓存类型
  • 进入生产阶段
  • 数据库:您很少会找到数据库缓存有意义的用例。它可能对本地测试很有用,但除此之外,请避免使用。
  • 文件系统:可以是陷阱。虽然读取和写入文件比制作SQL查询更快,但它有一些缺陷。每个缓存都是应用程序服务器的本地缓存(不是共享的),如果你有很多缓存密钥,理论上你可以达到允许的文件数量的文件系统限制。
  • 虚拟:当您希望在不进行缓存的情况下立即进行数据更改时,用于本地测试的优秀后端。请注意:在本地永久使用虚拟缓存可以隐藏您的错误,直到它们遇到启用了缓存的环境。