在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
}
}
}
注意:無效的參數會被忽略,不會影響整個項目
文章來源:麥子學院