NoSQL之Redis(三) --- Redis在項目中的運用


NoSQL之Redis(三) --- Redis在項目中的運用


 

         又是一個喧鬧的新年,少了的不是年味,變了的是人們的內心。難得的假期靜下心來回顧上一年,展望下一年。思考,總結,陪陪家人是否更值得去做?養精蓄銳,是不是又能更好迎接來年的挑戰?年輕不是放縱的資本,需要的事更好的珍惜眼前的時光。

 

         本文筆者會簡單的描述一下Redis在“jrkj”這個項目中的哪些場景中使用的,以及是如何使用的。

 

         應用場景一

 

         首頁

 

         尋找講師

 

         講師入門

 

         我們知道在每一個項目中都會存在一些不會經常變動的數據,如果每次需要這些數據的時候都從數據庫中讀取的話,一方面是效率問題,另一方面也會增加數據庫中的壓力。

         在上述三個地方系統都會默認的先從redis中讀取數據,只要將redis中沒有數據或者數據不全時纔會從數據庫中讀取,並同時向Redis中備份一份(這樣下一個請求來了又會從redis中讀取)。

        

         應用場景二


         查看更多講師(功能未上線)


         在系統中我們還會遇到一些這樣的情況,分頁查詢查詢數據,默認我會將第一頁的數據存入緩存中,第一次查詢第二頁的時候我會將第二頁的數據也存入緩存中,以此類推。同樣是減少直接對數據庫的操作。

 

         應用場景三


         個人中心


         當用戶登錄的時候,我會將其個人信息存入redis中,如果用戶登錄之後在其個人中心的相關頁面需要用的其個人信息的地方直接從redis中讀取。當用戶修改個人信息的時候同時會更新redis中的數據,這樣就保證了redis中的數據和數據庫中是同步的。

 

         應用場景四

 

         分佈式問題

         該系統屬於分佈式系統,不可避免的就有這麼一個問題需要解決——如何保證session共享的問題。我使用的是在用戶登錄的時候生成一個唯一標識(UUID)保證用戶的唯一性,將其如用戶信息一同放入緩存中,登錄之後用戶訪問任何頁面都會帶着一個UUID通過這個UUID作爲Key可以在緩存中獲取該用戶的個人信息。

 

         總結

         產品年前剛上線,並沒有正真的運行起來,需要優化的地方還有很多,年後融資推廣什麼的希望一切都順利。其實,剛纔在場景一種筆者並沒有說明如何將那些靜態數據存入redis以及什麼時候去更新這些數據,怎麼更新這些數據然後存入緩存中,筆者都沒有沒有詳細的寫明,欲知原因請閱讀下一篇博客。

發佈了129 篇原創文章 · 獲贊 16 · 訪問量 30萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章