一個剛開工就停下的項目帶來的好處

近期項目組準備投入大量資源重推一個Web系統,無奈該系統一年內通過了大概四波開發者的斷斷續續開發,沒有辦法應付預期的巨大訪問量和併發,遂決定開發2.0版本,目標是能抗住巨大的預期訪問量。前端

既然項目組想要投入大量資源,那麼申請服務器的時候,配置絕對是不會差的,並且審批的也是神速,一臺大內存的刀片機用來作Redis服務器,這也就是此次2.0版本的關鍵改進之處--Redis持久緩存層。
:這裏若是Redis服務器的硬盤換成SSD固態硬盤的話,那效率會進一步提高。緩存

利用Redis作緩存服務器,好處是不會像MemCached那樣沒法持久化,另外一方面內部有隊列模式,能夠爲業務開發過程帶來方便。服務器

Redis緩存分三級:
1.原子級緩存(用戶實體,文章實體,等等)
2.用戶級緩存
3.頁面級緩存(特定頁使用)併發

舉例說明,若是頁面中須要顯示文章明細列表,則先從頁面級緩存中加載文章ID列表數據,而後再內存中循環文章ID加載原子緩存中文章詳情,而後返回文章明細列表至前端顯示。mvc

頁面級緩存直接又後臺服務生成數據插入Redis中,每日作數據快照便可。框架

業務中能丟到後臺服務隊列異步處理的所有丟隊列處理,可使用Redis的隊列進行隊列數據記錄。異步

2.0項目採用的是.net mvc4開發,數據接口多使用JsonResult返回數據,這時候前端的交互採用了近期熟悉的MVVM框架:KnockOut.js.net

使用KO的好處顯而易見,對於前端開發同事給過來的靜態頁,直接拷進IDE中,而後不須要改動DOM結構,直接在標籤中加入data-bind綁定數據、綁定事件,而後專一於處理和服務端的數據交互,維護好當前頁面的KO的ViewModel,能夠節省不少體力和腦力去和DOM作交互。接口

固然計劃趕不上變化,就在打算好好大幹一場的時候,項目組決定不作2.0版本了。隊列

相關文章
相關標籤/搜索