0

我使用 Django 和 jqGrid 并通过 AJAX 加载页面。有时,查询非常复杂,页面加载速度非常慢,因为远页面要慢得多(这是意料之中的,结果通常超过 100k 个对象)。我认为结果缓存会解决这个问题,增加了第一页的加载时间,但随后强烈加速了后续页面的加载。

相反,它使第一页的加载速度非常慢,甚至后续页面也需要大量时间(在标准 PC 上为 11 秒)。我正在使用 locmem 缓存后端。有任何想法吗?为了进行比较,我尝试将结果存储在全局字典中,效果要好得多(后续页面只需 1 秒),但我听说这不是一种安全的方法。

有任何想法吗?

4

1 回答 1

0

你可以看看加热你的缓存。这可以手动完成,或者使用像 celery 这样的队列框架来缓存后续页面或查询集,然后在另一个页面加载后在后台进行。

看看 johnny-cache,它执行透明的查询集缓存。这可能(我重复一遍,可能)解决你所有的问题。

于 2011-09-07T11:57:23.943 回答