快取與站點配置

2021-10-01 07:47:24 字數 2324 閱讀 5115

概述:

對於中等流量的**來說,盡可能減少開銷是必要的,快取資料就是為了儲存哪些需要很多計算資源的結果,這樣就不必在下次請求消耗計算機資源 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...