概述:
對於中等流量的**來說,盡可能減少開銷是必要的,快取資料就是為了儲存哪些需要很多計算資源的結果,這樣就不必在下次請求消耗計算機資源 django自帶乙個非常健壯的快取功能
(1)快取配置
settings.py
配置快取在資料庫中
caches=
,#快取字首
'key_prefix'
:'cache',}
}
(2)建立快取表
python manage.py createchachetable my_cache_table
(3)快取的使用
匯入快取
from django.views.decorations.cache import cache_page
使用:
@cache_page(
)+ time快取時間,單位秒
+ cache 快取配置 預設使用default
+ key_prefix 前置字串
from django.views.decorators.cache import cache_page
# create your views here.
@cache_page(10)
defindex
(req)
:print
('你看到我了嗎?'
) u = user.objects.
all(
)return render(req,
'show_data.html'
,)
通過裝飾器設定快取,設定 了快取,不再執行檢視函式**,而是將資料庫或者快取的內容取出
直接響應,堅強了資料庫伺服器的壓力和檢視函式**執行的時間,提高了使用者體驗度和減輕壓力
#快取操作
#設定快取
cache.
set(key,value,timeout)
set_many
#獲取cache.get(key)
get_many
#刪除:
cache.delete(key)
delete_many
#清空:
cache.clear(
)
例項:
from django.core.cache import cache
from django.template import loader
# 手動設定快取
defindex
(req)
:# 獲取key為user_cache的快取資料
user_cache = cache.get(
'user_cache'
)# 判斷是否存在快取
ifnot user_cache:
u = user.objects.
all(
) tem = loader.get_template(
'show_data.html'
) user_cache = tem.render(
) cache.
set(
'user_cache'
,user_cache,20)
print
('沒快取...'
)return httpresponse(user_cache)
安裝:
pip install django-redis
配置:
settings.py
# 配置快取在redis中
caches =
}
四,檔案系統快取
配置settings.py
例項:
caches =
}## 五、本地記憶體快取
**配置settings.py**
```python
caches =
}
如果值設定乙個本地快取 則不需給location值 如果有多個的話 需要最少設定乙個用來區分
2 配置範例站點站點
配置範例站點站點 序號網域名稱目錄1 www.heytool.com www html www.heytool.com 2bbs.heytool.com www html bbs.heytool.com 修改nginx配置檔案 vi nginx.conf user nobody nobody 執行 ...
全域性配置與快取
在安裝npm時,可以設定npm安裝包的全域性配置與快取 npm config set prefix c program files nodejs node global npm config set cache c program files nodejs node cache 後來刪除了nodej...
Nginx站點配置
今天因為專案需要,新建了乙個站點,過了一遍nginx配置站點的過程,記錄一下操作過程。1.將新站點的 檔案放在指定的目錄下,比如 data www test.vso.com 2.在nginx配置檔案下新增乙個站點的配置檔案,新網域名稱定為 test.vso.com nginx配置檔案在 etc ng...