《redis應用的總結》要點:
本文介紹了redis應用的總結,希望對您有用。如果有疑問,可以聯系我們。
#寫在前面
對最近項目應用redis做一個簡單總結,項目中的營業網點資料和客戶資料等模塊以后的資料量勢必會隨著業務的擴張會越來越大,可能會造成系統性能瓶頸及用戶體驗欠安等,所以根據老大的建議,把相應模塊對應的表名+表關鍵字作為key,優先從redis緩存中拿數據,減少對數據庫CRUD操作避免負載過大.
#這里,我們會專門寫一個接口來實現redis處置的邏輯
查詢的邏輯:根據我們生成的key,來判斷redis里是否存在這樣的key,若存在,直接從redis里面取,不存在,從數據庫(ORACLE)里面取.注意:在從redis里取得時候,會做這樣一個操作:就是我們定義了一個緩存對象CacheObject,緩存對象有兩個屬性,一個布爾值用來判斷redis是否必要同步更新oracle最新數據,另一個是泛型的數據集合,至于為什么是泛型,是因為這樣我們查詢哪個模塊的數據就返回哪個模塊的數據而不必為每個模塊重新去定義.當緩存對象里的布爾值為true時,從redis里獲得數據后把布爾值從新設置為false,并更新緩存對象到redis里.
這部門的代碼如下:
定義的緩存對象:
查詢緩存處置:
通用查詢接口:
更新的邏輯:
一旦我們修改或者增加材料到數據庫(oracle),我們同時設置緩存對象的布爾值為true,并將其存到redis中,當下次我們查詢的時候會根據這個布爾值同步最新數據到redis(見上面的查詢邏輯)
更新邏輯代碼:
刪除邏輯:
刪除數據庫數據時,同時刪除redis中的數據
刪除代碼:
#寫在最后
以上只是讓大家知道redis緩存的處置邏輯,
歡迎參與《redis應用的總結》討論,分享您的想法,維易PHP學院為您提供專業教程。
轉載請注明本頁網址:
http://www.snjht.com/jiaocheng/9214.html