我使用Django和jqGrid并通过AJAX加载页面。有时,查询非常复杂,并且页面加载速度很慢,因为远页面要慢得多(这是预期的,结果通常超过100k对象)。我认为结果缓存将解决问题,为第一页的加载增加了一些时间,但随后大大加快了后续页面的加载。
相反,它使第一页的加载速度极慢,甚至后续页面花费了大量时间(标准PC上为11秒)。我正在使用locmem缓存后端。 有任何想法吗?为了进行比较,我尝试将结果存储在全局字典中并且效果更好(后续页面只需1秒),但我听说这不是一种安全的方法。
有什么想法吗?
答案 0 :(得分:0)
你可以看看加热你的缓存。这可以手动完成,或者使用像celery这样的排队框架,以便在另一个页面加载后在后台进行后续页面或查询集的缓存。
看看johnny-cache,它执行透明的查询集缓存。这可能(我再说一次,可能)解决你所有的问题。