国产探花免费观看_亚洲丰满少妇自慰呻吟_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            
發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 洛川县| 甘泉县| 通州区| 安达市| 政和县| 长白| 洮南市| 迭部县| 泌阳县| 普兰县| 滦南县| 介休市| 荥阳市| 淅川县| 阳信县| 长汀县| 中卫市| 石林| 荥经县| 裕民县| 潢川县| 于都县| 若尔盖县| 慈溪市| 兴仁县| 虹口区| 连平县| 宜兰县| 扎赉特旗| 鄂州市| 贵港市| 正安县| 白水县| 海原县| 旺苍县| 施秉县| 米脂县| 寿宁县| 瑞昌市| 从化市| 嘉黎县|