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