日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程语言 > python >内容正文

python

redis基础整理(转载+与python结合)

發布時間:2023/12/20 python 30 豆豆
生活随笔 收集整理的這篇文章主要介紹了 redis基础整理(转载+与python结合) 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

一般而言在使用 Redis 進行存儲的時候,我們需要從以下幾個方面來考慮:

  • 業務數據常用嗎?命中率如何?如果命中率很低,就沒有必要寫入緩存;
  • 該業務數據是讀操作多,還是寫操作多?如果寫操作多,頻繁需要寫入數據庫,也沒有必要使用緩存;
  • 業務數據大小如何?如果要存儲幾百兆字節的文件,會給緩存帶來很大的壓力,這樣也沒有必要;

在考慮了這些問題之后,如果覺得有必要使用緩存,那么就使用它!使用 Redis 作為緩存的讀取邏輯如下圖所示:

從上圖我們可以知道以下兩點:

  • 第一次讀取數據的時候,讀取 Redis 的數據就會失敗,此時就會觸發程序讀取數據庫,把數據讀取出來,并且寫入 Redis 中;
  • 第二次以及以后需要讀取數據時,就會直接讀取 Redis,讀到數據后就結束了流程,這樣速度就大大提高了。
  • ?

    從上面的分析可以知道,讀操作的可能性是遠大于寫操作的,所以使用 Redis 來處理日常中需要經常讀取的數據,速度提升是顯而易見的,同時也降低了對數據庫的依賴,使得數據庫的壓力大大減少。

    ?

    析了讀操作的邏輯,下面我們來看看寫操作的流程

    從流程可以看出,更新或者寫入的操作,需要多個 Redis 的操作,如果業務數據寫次數遠大于讀次數那么就沒有必要使用 Redis。

    ?

    高速讀/寫的場合

    在如今的互聯網中,越來越多的存在高并發的情況,比如天貓雙11、搶紅包、搶演唱會門票等,這些場合都是在某一個瞬間或者是某一個短暫的時刻有成千上萬的請求到達服務器,如果單純的使用數據庫來進行處理,就算不崩,也會很慢的,輕則造成用戶體驗極差用戶量流失重則數據庫癱瘓,服務宕機,而這樣的場合都是不允許的!

    所以我們需要使用 Redis 來應對這樣的高并發需求的場合,我們先來看看一次請求操作的流程圖

    我們來進一步闡述這個過程:

  • 當一個請求到達服務器時,只是把業務數據在 Redis 上進行讀寫,而沒有對數據庫進行任何的操作,這樣就能大大提高讀寫的速度,從而滿足高速響應的需求
  • 但是這些緩存的數據仍然需要持久化,也就是存入數據庫之中,所以在一個請求操作完 Redis 的讀/寫之后,會去判斷該高速讀/寫的業務是否結束,這個判斷通常會在秒殺商品為0,紅包金額為0時成立,如果不成立,則不會操作數據庫;如果成立,則觸發事件將 Redis 的緩存的數據以批量的形式一次性寫入數據庫,從而完成持久化的工作。
  • 上面的內容來自[1]

    根據[2]啟動redis

    django和redis的配置可以參考[3]

    ?

    ?

    Reference:

    [1]Redis【入門】就這一篇!

    [2]ubuntu19.10下面的redis的啟動與關閉

    [3]Django使用Redis進行緩存詳細最全流程

    ?

    ?


    ?


    ?

    總結

    以上是生活随笔為你收集整理的redis基础整理(转载+与python结合)的全部內容,希望文章能夠幫你解決所遇到的問題。

    如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。