zoukankan      html  css  js  c++  java
  • django缓存优化中caches参数如何配置?

    在python开发中,如果运营django进行编写,为了提升效率,常常需要优化缓存,缓存优化中必须掌握的caches参数相关知识:

    CACHES 配置参数概述 - 格式

    CACHES 字典配置格式如下

    {
    'default': {
    ‘BACKEND’:
    'django.core.cache.backends.locmem.LocMemCache’,
    }
    }

    配置 CACHES 字典时必须配置 default 缓存


    CACHES 配置参数概述 - BACKEND

    支持的 BACKEND:

    1)'django.core.cache.backends.db.DatabaseCache'
    2)'django.core.cache.backends.dummy.DummyCache'
    3)'django.core.cache.backends.filebased.FileBasedCache'
    4)'django.core.cache.backends.locmem.LocMemCache'
    5)'django.core.cache.backends.memcached.MemcachedCache'
    6)'django.core.cache.backends.memcached.PyLibMCCache’
    //可配置的缓存后端列表

    CACHES 配置参数概述 - 附加参数

    每个缓存后端都可以设置附加参数,控制缓存行为。可配置如下参数:

    1)TIMEOUT

    cache 默认过期时间(seconds),未设置则为300s(5mins)

    2)OPTIONS

    可选项配置,不同的后端,可选项配置不同

    3)KEY_PREFIX

    默认会被自动加到所有缓存 keys 的前端

    4)VERSION

    默认缓存 keys 的 version

    5)KEY_FUNCTION

    生成最终缓存 keys 的函数路径

    像locmem, filesystem 和 database 缓存都实现了 cull 策略,参数如下:
    culling 策略参数(OPTIONS中):
    MAX_ENTRIES
    删除旧数据之前,允许在缓存中存放的最大数量,默认:300
    CULL_FREQUENCY
    当缓存数目达到 MAX_ENTRIES 时,就会删除部分缓存,删除率为1/CULL_REQUENCY, 如果 CULL_FREQUENCY = 2 ,当达到 MAX_ENTRIES 时,就会删除一半数据。默认值:3


    CACHES 配置参数概述 - 示例

    CACHES = {
    'default': {
    'BACKEND': 'django.core.cache.backends.filebased.FileBasedCache',
    'LOCATION': '/var/tmp/django_cache',
    'TIMEOUT': 60,
    'OPTIONS': {
    'MAX_ENTRIES': 1000
    }
    }
    }

    注意:无效的参数会被忽略,不会影响整个项目

  • 相关阅读:
    如何很“礼貌”的避免抛出空指针异常
    如何优雅的使用第三方插件写实体类
    IntelliJ IDEA(2019.03)破解教程(亲测实用)
    vue.js 中使用(...)运算符报错的解决方法
    44个Java性能优化
    Spring MVC原理及配置
    Intellij IDEA 从入门到上瘾 图文教程
    JVM系列二 GC策略&内存申请、对象衰老
    Spring MVC国际化配置
    Java性能优化的50个细节(珍藏版)
  • 原文地址:https://www.cnblogs.com/hellojesson/p/6250010.html
Copyright © 2011-2022 走看看