Django上下文缓存库。

django-context-cache的Python项目详细描述


序言

Django-context-cache使用上下文缓存扩展Django框架,该缓存为每个请求或每个修饰块缓存数据。在

安装

  • 使用pip命令安装django-context-cache
pip install django-context-cache
  • {cd5>
^{pr2}$

使用

假设有一个函数或方法,您希望每个请求缓存一个结果:

import random
import string
from context_cache.decorators import cache_for_context

@cache_for_context
def get_random_string():
    letters = string.ascii_lowercase
    return ''.join(random.choice(letters) for i in range(10))

如果多次调用函数get_random_string,则值将从缓存获取:

def view(request):
    get_random_string() == get_random_string() # should return True

如果您想缓存请求之外的函数,例如在django命令中,可以使用decorator init_context_cache。decorator也可以用作上下文处理器:

from django.core.management.base import BaseCommand, CommandError
from context_cache.decorators import init_context_cache

class Command(BaseCommand):
    
    @init_context_cache
    def handle(self, *args, **options):
        get_random_string() == get_random_string() # should return True

欢迎加入QQ群-->: 979659372 Python中文网_新手群

推荐PyPI第三方库


热门话题
java为什么我们不能将ArrayList<Integer>传递给具有(Integer…)的方法参数   java Spring RestTemplate映射JSON对映射的响应引发不匹配的PutException   在系统中找到java Selenium元素,但在Jenkins中未找到   java在Android中使用JavaMail API发送电子邮件,而不使用默认/内置应用程序   数组如何在Java数据结构中同时存储数字和相应的单词?   为什么“+”运算符未定义?JAVA   java如何在游戏中添加高分系统?   java在球门碰撞中区分球和球员   java如何使用SpringSecurity4.0.1使用Auth令牌实现Rest完整Web服务。释放   java如何解决这个错误:Android资源链接失败?   java多线程文件处理和数据库批插入   导致Tomcat失败的java无用块线程   java主线程做了太多的工作,尽管我使用了异步线程(laggy UI)   在Java FX 2.0中滚动锚定节点时,锚定始终可见?   java使用EJB3中的客户机jar和设计模式