您好,登錄后才能下訂單哦!
本文主要給大家介紹mysql緩存用redis怎么做,希望可以給大家補充和更新些知識,如有其它問題需要了解的可以持續在億速云行業資訊里面關注我的更新文章的。
在實際項目中,MySQL數據庫云服務器有時會位于另外一臺主機,需要通過網絡來訪問數據庫;即使應用程序與MySQL數據庫在同一個主機中,訪問MySQL也涉及到磁盤IO操作(MySQL也有一些數據預讀技術,能夠減少磁盤IO讀寫,此部分后續繼續研究)。
總之,直接從MySQL中讀取數據不如直接從內存中讀取數據來的效率高。為了提高數據庫訪問效率,人們采用了各種各樣的方法,其中方法之一就是使用一個給予內存的緩存系統放置在數據庫和應用程序之間。
在查找數據的時候,首先從內存中查找,如果找到則使用,如果沒有找到,那么再真正訪問數據庫。這種方法在一些場景下(例如:頻繁查找相同數據)能夠提高系統的整體效率。
采用redis nosql數據庫作為Mysql數據庫的緩存,在查找的時候,首先查找redis緩存,如果找到則返回結果;如果在redis中沒有找到,那么查找Mysql數據庫,找到的花則返回結果并且更新redis;如果沒有找到則返回空。
對于寫入的情況,直接寫入mysql數據庫,mysql數據庫通過觸發器及UDF機制自動把變更的內容更新到redis中。
框圖:
讀取步驟:
1. client讀取redis,如果命中返回結果,如果沒有命中轉到2.
2. client讀取數據庫,在數據庫中沒有查到,返回空;在數據庫中查到了,返回查到的結果并更新Redis。
寫入步驟:
1. client修改/刪除或者新增數據到MySQL。
2. MySQL的觸發器調用用戶自定義的UDF。
3. UDF把修改/刪除或者新增的數據更新到redis中。
以上就是redis怎么做mysql緩存的詳細內容,更多請關注億速云其它相關文章!
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。