繁体   English   中英

Django缓存可用于开发,但不能用于生产

[英]Django cache works in development but not production

我有一个django项目,该项目利用django缓存(默认的本地内存缓存)来存储大型查询集的其余部分,以便以后检索。 这个系统按照我在开发中的预期工作(使用内置的django网络服务器),但是在生产(nginx和gunicorn)中,缓存似乎根本不起作用。

我找不到任何说明,要使缓存在生产环境中正常工作,有一些特定的必要条件。 所有的建议表示赞赏,谢谢。

default_cache = get_cache('default')
default_cache.clear()
default_cache.set(request.user.id, object_list, CACHE_AGE)

本地内存缓存并不真正适合生产。 确切地说,它是当前流程的本地内容。 这意味着在多流程环境(几乎可以肯定您的生产设置)中,在一个流程中缓存的内容将不会在另一个流程中看到。 请注意, 文档专门提到了这一点。

安装redis或memcached并将其用作缓存后端。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM