zoukankan      html  css  js  c++  java
  • Django中的缓存的配置与使用

    一、使用装饰器

      在文件开头导入下面代码,然后在函数上方添加缓存的装饰器

    from django.views.decorators.cache import cache_page
    @cache_page(30)

    二、原生缓存

    Django中提供了6种缓存方式:

    • 开发调试
    • 内存
    • 文件
    • 数据库
    • Memcache缓存(python-memcached模块)
    • Memcache缓存(pylibmc模块)

    常用的缓存配置

    Memcache缓存

    首先要创建缓存表

    python manage.py createcachetable [table_name]
    CACHES = {
        'default': {
            'BACKEND': 'django.core.cache.backends.db.DatabaseCache',
            'LOCATION': 'cache_table',
            'TIMEOUT': '60',
            'OPTIONS': {
                'MAX_ENTRIES': '300',
            },
            'KEY_PREFIX': 'rock',
            'VERSION': '1',
        }
    }
    View Code

    redis缓存

    首先要安装django-redis

    pip install django-redis
    CACHES = {
        "default": {
            "BACKEND": "django_redis.cache.RedisCache",
            "LOCATION": "redis://127.0.0.1:6379/1",
            "OPTIONS": {
                "CLIENT_CLASS": "django_redis.client.DefaultClient",
            }
        }
    }
    View Code

    代码实现示例:
    from django.forms import model_to_dict
    from django.http import JsonResponse
    from django.core.cache import cache
    from app.models import Engineer
    def my_cache_test(req):
        # 看缓存有没有数据
        res = cache.get('data')
        if res:return JsonResponse(res)
        else:
            # 查数据
            data = Engineer.objects.all()
            # 把对象转成字典
            # model_to_dict()
            c_data = []
         for i in data: c_data.append(model_to_dict(i)) result = {'my_data':c_data} # 设置缓存 cache.set('data',result,30) # 返回数据给前端 return JsonResponse(result)
    Fake it,till you make it
  • 相关阅读:
    612.1.004 ALGS4 | Elementary Sorts
    612.1.003 ALGS4 | Stacks and Queues
    612.1.002 ALGS4 | Analysis of Algorithms
    132.1.001 Union-Find | 并查集
    如何优雅使用Coursera ? —— Coursera 视频缓冲 & 字幕遮挡
    Jupyter notebook 使用多个Conda 环境
    如何从 GitHub 上下载单个文件夹
    在jupyter notebook中同时安装python2和python3
    修改ps工具栏字体大小
    python之集合
  • 原文地址:https://www.cnblogs.com/wusir66/p/9878471.html
Copyright © 2011-2022 走看看