亚洲激情专区-91九色丨porny丨老师-久久久久久久女国产乱让韩-国产精品午夜小视频观看

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

在django中配置緩存的方法有哪些

發布時間:2021-03-05 17:28:26 來源:億速云 閱讀:148 作者:Leah 欄目:開發技術

這篇文章給大家介紹在django中配置緩存的方法有哪些,內容非常詳細,感興趣的小伙伴們可以參考借鑒,希望對大家能有所幫助。

緩存的配置

配置緩存提供了6種方式。

  • 開發調試

  • 內存

  • 文件

  • 數據庫

  • Memcache緩存(python-memcached模塊)

  • Memcache緩存(pylibmc模塊)

開發調試:

說明:此為開始調試用,實際內部不做任何操作

CACHES = {
 'default': {
  'BACKEND': 'django.core.cache.backends.dummy.DummyCache', # 引擎
  'TIMEOUT': 300,            # 緩存超時時間(默認300秒,None表示永不過期,0表示立即過期)
  'OPTIONS':{
   'MAX_ENTRIES': 300,          # 最大緩存個數(默認300)
   'CULL_FREQUENCY': 3,          # 緩存到達最大個數之后,剔除緩存個數的比例,即:1/CULL_FREQUENCY(默認3),3:表示1/3
  },
  #這邊只的是緩存的key:p1:1:func_name
  'KEY_PREFIX': 'p1',            # 緩存key的前綴(默認空)
  'VERSION': 1,             # 緩存key的版本(默認1)
  'KEY_FUNCTION':"func_name"         # 生成key的函數(默認函數會生成為:【前綴:版本:key】)
 }
}其他除了引擎不一樣,其他的都是通用的,這邊只的是緩存的key:p1:1:func_name的源碼如下:所以我們就可以自定義這個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

內存:

注意是絕對位置(從根目錄開始),必須保證服務器對你列出的路徑具有讀寫權限

#'LOCATION': 'c:\foo\bar',#windows下的示例

說明:內存版本的時候,必須設置一個值,這個值是唯一的,此緩存將內容保存至內存的變量中

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', #緩存存放的路徑<br data-filtered="filtered">    
 }
 #其他的配置和開發調試版本一樣
}

數據庫:說明:此緩存將內容保存至數據庫

CACHES = {
 'default': {
  'BACKEND': 'django.core.cache.backends.db.DatabaseCache',
  'LOCATION': 'my_cache_table', # 設置一個數據庫存放緩存的表名
 }
 #其他的配置和開發調試版本一樣
}

# 注:執行創建表命令 python manage.py createcachetable

Memcache緩存(python-memcached模塊)

說明:此緩存使用python-memcached模塊連接memcache

#單臺機器
CACHES = {
  'default': {
   'BACKEND': 'django.core.cache.backends.memcached.MemcachedCache',
   'LOCATION': '127.0.0.1:11211',
  }
  #其他的配置和開發調試版本一樣
}
 
#存放本地的
CACHES = {
 'default': {
  'BACKEND': 'django.core.cache.backends.memcached.MemcachedCache',
  'LOCATION': 'unix:/tmp/memcached.sock',
 }
 #其他的配置和開發調試版本一樣
} 
 
#支持集群,負載均衡
CACHES = {
 'default': {
  'BACKEND': 'django.core.cache.backends.memcached.MemcachedCache',
  'LOCATION': [
   '172.19.26.240:11211',
   '172.19.26.242:11211',
   #設置權重
   #('172.19.26.240:11211',10),
   #('172.19.26.242:11211',20),
  ] 
 }
 #其他的配置和開發調試版本一樣
}

Memcache緩存(pylibmc模塊)

說明:此緩存使用pylibmc模塊連接memcache

# 此緩存使用pylibmc模塊連接memcache
  
 CACHES = {
  'default': {
   'BACKEND': 'django.core.cache.backends.memcached.PyLibMCCache',
   'LOCATION': '127.0.0.1:11211',
  }
 }
 
 CACHES = {
  'default': {
   'BACKEND': 'django.core.cache.backends.memcached.PyLibMCCache',
   'LOCATION': '/tmp/memcached.sock',
  }
 } 
 
 CACHES = {
  'default': {
   'BACKEND': 'django.core.cache.backends.memcached.PyLibMCCache',
   'LOCATION': [
    '172.19.26.240:11211',
    '172.19.26.242:11211',
   ]
  }
 }

關于在django中配置緩存的方法有哪些就分享到這里了,希望以上內容可以對大家有一定的幫助,可以學到更多知識。如果覺得文章不錯,可以把它分享出去讓更多的人看到。

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

东乌珠穆沁旗| 遂平县| 龙川县| 海晏县| 满洲里市| 浦县| 上栗县| 寿阳县| 涪陵区| 信丰县| 腾冲县| 桦南县| 蒙山县| 丰宁| 江阴市| 通山县| 泸定县| 探索| 交口县| 遂川县| 阜南县| 浦江县| 延津县| 双桥区| 双流县| 巢湖市| 安徽省| 乌鲁木齐县| 秦安县| 五家渠市| 景泰县| 鄂托克旗| 越西县| 永安市| 卓尼县| 佛山市| 逊克县| 铜鼓县| 望谟县| 邮箱| 南靖县|