3

我设置了一个查询,将数据库中的 28 条随机记录放入 JSON 响应中。这个页面经常被点击,每隔几秒钟,但目前对我来说太慢了。

在 JSON 响应中,我有:

  • 身份证
  • 用户名
  • Base64 缩略图

这些都来自三个链接表。
我很想听听其他一些解决方案,而不是用户简单地点击一个页面,查找 28 条随机记录并吐回响应。我有一个想法:

  • 运行一个进程,每 30 秒左右使用 JSON 响应创建一个缓存页面。

这是一个不错的选择吗?如果是这样,我很想知道如何做到这一点。

再次感谢,
希望大家都好

4

2 回答 2

4

Django 支持多种缓存方法,包括内置的和 memcached 的。我会选择文档中的一种方法,并为您的 json 响应创建一个特定的视图。然后,您可以使用 @cache_page 装饰器并指定特定时间。

from django.views.decorators.cache import cache_page

@cache_page(60 * 15)
def my_view(request):
    ...

https://docs.djangoproject.com/en/1.3/topics/cache/

于 2011-08-23T13:27:36.917 回答
0

如果表是通过外键链接的,也许使用 select_related?从链接中,他们给出的例子(你需要向下滚动一点):

>>> e = Entry.objects.select_related().get(id=2)
>>> print e.blog  # Doesn't hit the database; uses cached version.
>>> print e.blog  # Doesn't hit the database; uses cached version.

我不确定三张桌子,但两张桌子效果很好。

于 2011-08-23T11:17:12.470 回答