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
  • 相关阅读:
    安卓学习第三课——常见布局
    安卓学习第二课——短信发送器
    POJ3735【矩阵快速幂】
    Intel Code Challenge Final Round (Div. 1 + Div. 2, Combined)【A,B,C,D】
    POJ3737【数学】
    HDU2489【状压枚举】
    POJ3734【状压枚举】
    HDU1598【最小生成树拓展】
    HDU1597【二分瞎搞】
    HDU3279【水】
  • 原文地址:https://www.cnblogs.com/wusir66/p/9878471.html
Copyright © 2011-2022 走看看