我现有的Django Web应用程序使用没有memcaching的MySQLDB。 我想实现memcaching来提高这个站点的响应能力。我看到了here的说明。
但是,这些说明给我留下了一些悬而未决的问题。在设置memcached服务器之后,我需要做的就是让memcache工作吗?或者我是否需要更改settings.py之外的任何代码?在读取或写入模型时,Django能否很好地处理幕后的所有memcaching操作? (如果是这样,那很酷!)我怎样才能看到内存缓存对数据库访问次数有何改进?
答案 0 :(得分:3)
您所做的只是设置缓存后端。
为了从缓存中受益,您需要找到合适的位置并对性能产生积极影响:views,templates ..您可以缓存整个视图,模板,模板碎片等。
如果您想要一些自动化帮助您,请查看Johnny Cache包:
Johnny Cache是django应用程序的缓存框架。有用 使用django缓存抽象,但是是专门开发的 记住使用memcached。它的主要功能是补丁 Django的ORM自动缓存所有读取的一致性 方式。
Cache Machine为Django提供自动缓存和失效 通过ORM模型。
还有一个名为django-cacheops
的有趣项目旨在改进Django ORM缓存,但它使用Redis
后端。
此外,django_debug_toolbar
s caching panel可以在将来为您提供帮助。
请注意,django查询集具有内置的内部缓存,但它与缓存框架无关。
进一步阅读: