国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 編程 > Python > 正文

淺談Django的緩存機制

2020-02-15 22:48:03
字體:
來源:轉載
供稿:網友

由于Django是動態網站,所有每次請求均會去數據進行相應的操作,當程序訪問量大時,耗時必然會更加明顯,最簡單解決方式是使用:緩存,緩存將一個某個views的返回值保存至內存或者memcache中,5分鐘內再有人來訪問時,則不再去執行view中的操作,而是直接從內存或者Redis中之前緩存的內容拿到,并返回。

Django中提供了6種緩存方式:

    開發調試 內存 文件 數據庫 Memcache緩存(python-memcached模塊) Memcache緩存(pylibmc模塊)

通用配置

'TIMEOUT': 300,            # 緩存超時時間(默認300,None表示永不過期,0表示立即過期)    'OPTIONS':{     'MAX_ENTRIES': 300,          # 最大緩存個數(默認300)     'CULL_FREQUENCY': 3,          # 緩存到達最大個數之后,剔除緩存個數的比例,即:1/CULL_FREQUENCY(默認3)    },    'KEY_PREFIX': '',            # 緩存key的前綴(默認空)    'VERSION': 1,             # 緩存key的版本(默認1)    'KEY_FUNCTION' 函數名           # 生成key的函數(默認函數會生成為:【前綴:版本:key】)

以上六中模式都可以使用

自定義key

 def default_key_func(key, key_prefix, version):  """  Default function to generate keys.  Constructs the key used by all other methods. By default it prepends  the `key_prefix'. KEY_FUNCTION can be used to specify an alternate  function with custom key making behavior.  """  return '%s:%s:%s' % (key_prefix, version, key) def get_key_func(key_func):  """  Function to decide which key function to use.  Defaults to ``default_key_func``.  """  if key_func is not None:   if callable(key_func):    return key_func   else:    return import_string(key_func)  return default_key_func

開發調試

  # 此為開始調試用,實際內部不做任何操作  # 配置:    CACHES = {      'default': {        'BACKEND': 'django.core.cache.backends.dummy.DummyCache',   # 引擎       通用配置      }    }

內存

  # 此緩存將內容保存至內存的變量中  # 配置:    CACHES = {      'default': {        'BACKEND': 'django.core.cache.backends.locmem.LocMemCache',        'LOCATION': 'unique-snowflake',       通用配置      }    }  # 注:其他配置同開發調試版本

文件

  # 此緩存將內容保存至文件  # 配置:    CACHES = {      'default': {        'BACKEND': 'django.core.cache.backends.filebased.FileBasedCache',        'LOCATION': '/var/tmp/django_cache',         通用配置      }    }  # 注:其他配置同開發調試版本

數據庫

 # 此緩存將內容保存至數據庫  # 配置:    CACHES = {      'default': {        'BACKEND': 'django.core.cache.backends.db.DatabaseCache',        'LOCATION': 'my_cache_table', # 數據庫表       通用配置      }    }  # 注:執行創建表命令 python manage.py createcachetable            
發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 张北县| 渝中区| 如东县| 柘荣县| 平阴县| 阿拉善右旗| 石泉县| 资中县| 郁南县| 耿马| 海口市| 雷波县| 合水县| 东海县| 会泽县| 武川县| 杭州市| 天全县| 大渡口区| 黄梅县| 门源| 沈阳市| 靖远县| 秭归县| 武胜县| 巫溪县| 长治市| 开鲁县| 祁门县| 承德市| 安化县| 四子王旗| 米易县| 济阳县| 建湖县| 自治县| 瑞丽市| 策勒县| 凤凰县| 三江| 资兴市|