DRF設定redis快取

2021-10-06 19:34:24 字數 719 閱讀 3311

說明:最近自己在做乙個**的drf專案,也是為了檢驗一下自己學習的效果。

快取工具:redis資料庫

實現快取步驟:

1)安裝drf-extensions

drf-extensions是 drf 框架的自定義擴充套件的集合,其中就包含有快取的擴充套件。

pip install drf-extensions

2)安裝django-redis

pip install django-redis

3)配置settings檔案

rest_framework_extensions = 

# redis配置

caches = }}

4)接下來就在我們要進行快取的位置設定

如果是使用的檢視集可以直接繼承cacheresponsemixin類,如果不是可以使用cache_response裝飾器

class novellistapi(cacheresponsemixin, listapiview):  # 繼承cacheresponsemixin實現快取,且此類必須放在第一繼承位

5)驗證

可以先將快取時間設定乙個較短的時間(比如10s) 呼叫介面後查驗redis資料庫。

redis最大快取設定策略

一 最大快取設定 示例 maxmemory 100mb 單位 mb,gb。預設為0,沒有指定最大快取,如果有新的資料新增,超過最大記憶體,則會使redis崩潰,所以一點要設定。設定maxmemory之後,配合的要設定快取資料 策略。二 策略演算法設定 當maxmemory限制到達的時候,redis將...

drf實現常用資料快取

在以往的後台資料訪問時,我們往往都會進行資料庫查詢,基本的流程是這樣的 圖中發生了三次請求,則很正常向資料庫查詢了三次。但是現在有這樣乙個場景 我們有1000個人在乙個十分鐘內向乙個我們 都看了同乙個文章,那麼我們有沒有哪些可以優化我們的後端 因為這只是一篇文章在短時間內就被訪問了1000次,當然我...

drf版本控制 django快取

內建的版本控制類 from rest framework.versioning import queryparameterversioning,acceptheaderversioning,namespaceversioning,urlpathversioning 各版本的傳參方式 基於url的ge...