如果找到则从memcached抓取html,如果没有则渲染并保存到memcached

发布于 2024-10-22 03:10:40 字数 195 浏览 4 评论 0原文

对于特定控制器的操作,我如何首先检查 HTML 是否在 memcached 中,然后从缓存中渲染。

如果未找到,则渲染视图页面的 html,然后获取该 html 并将其存储在 memcached 中以供将来的请求。

我实际上想在控制器的操作中执行此操作,因为我想查看用户属于什么角色,是否已登录,以及其他逻辑

For a specific controller's action, how would I first check to see HTML is in memcached, and yes then render from cache.

If not found, render the view page's html, then take that html and store it in memcached for future requests.

I actually want to do it in the controller's action, because I want to see what role the user belongs to, if they are logged in, and other logic

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(2

執念 2024-10-29 03:10:40

最简单的方法是使用 django.views.decorators.cache 中的 cache_page 装饰器。

from django.views.decorators.cache import cache_page

@cache_page(3600)  #1 hour cache time in seconds
def a_view_to_cache(request):
    ...

如果您只想缓存渲染的 html 的一部分,您可以在模板中明确执行此操作

{% load cache %}
{% cache 3600 cache_block_name %}
    .. my block ..
{% endcache %}

The easiest way is to use the cache_page decorator from django.views.decorators.cache.

from django.views.decorators.cache import cache_page

@cache_page(3600)  #1 hour cache time in seconds
def a_view_to_cache(request):
    ...

You can do it explicitly in you template if you want to cache only a part of your rendered html

{% load cache %}
{% cache 3600 cache_block_name %}
    .. my block ..
{% endcache %}
~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文