水平分庫1.資料庫文件放到不同磁碟,充分利用磁碟io表分區1.表資料庫可以進行分區按照日期分區按照條件分區主動分區1.歷史數據放到歷史表當前表只放三天的數據(處理生產數據量大的表可以採用)垂直分庫把數據分成多個庫 根據業務模塊進行分用戶相關的數據都放到用戶資料庫上訂單相關數據都放到訂單資料庫上... ...
水平分庫
1.資料庫文件放到不同磁碟,充分利用磁碟io
表分區
1.表資料庫可以進行分區
按照日期分區
按照條件分區
主動分區
1.歷史數據放到歷史表
當前表只放三天的數據
(處理生產數據量大的表可以採用)
垂直分庫
把數據分成多個庫 根據業務模塊進行分
用戶相關的數據都放到用戶資料庫上
訂單相關數據都放到訂單資料庫上...
(優點:壓力分流,)
資料庫集群:讀寫分離
(一個主庫,多個從庫,(MySpace曾經這樣做,可以支持百萬級別訪問))
繼續優化,多主庫,多從庫(防止主庫掛掉,,,數據同步問題:mysql有專門的配置,配好既可以使用,延遲可以有第三方解決方案解決)
磁碟IO解決之道,用緩存解決
memacahce集群原理
1.是通過客戶端驅動實現集群
memacache:的缺點
不能作為數據的持久化存儲
存儲數據有限制:不能大於1m
只能key-value存儲
集群數據沒有複製和同步機制沒有主從複製機制,一個節點壞了會影響整體(額外也提高了性能)(奔潰不會影響程式)
記憶體回收不及時
lru演算法(惰性刪除)未使用記憶體》過期記憶體》最近最少使用的記憶體
(過期記憶體:添加key的時候,都有一個過期時間)
memacache+cookie(替代session) 完美方案
改一下寫入||改一下讀取
分配一個獨一無二的標誌guid
將其作為標誌 作為mm的key,把對象放到mm的value 將guid放到cookie
string userLoginID=Guid.NewGuid().ToStrig();
Response.Cookies["aa"].Value=userLoginID;
Request.Cookies["aa"].Value;
(用這個之前要判斷Request.Cookies["aa"]是否為空 為空的化,你去點Value肯定回報空引用異常)
//滑動過期時間:
就是再增加一段時間,
刪除當前剩餘的過期時間,然後為其重新附加一個新的過期時間
寫入memacache緩存(幫助類)
寫到本機緩存寫到mm寫到redies...(出現一個變化點[觀察者模式])
滑動視窗過期機制
2017年7月7日16:30:43
靜態屬性:依賴註入
註入一次就會有值
再applicationstart為其對象複製
或者在構造方法內為其賦值
ok這個問題解決掉了
註意:使用mm的時候,要序列化[Serializable]
修改tt模板 搜索partial class
\r\n給其一個回車換行
然後在其上方加一個 序列化
ok搞定了
做了有一年半netmvc開發,業務邏輯確實不怎麼樣,但是認識到技術廣度,已經到了三年碼農的級別,很欣慰,現在在做RN方面的研究,有時間坐坐webapi介面,有時間寫寫結構,研究研究軟體的易拓展性,易維護性,有時間也偶爾看看高併發等...,很好很好,現在主要精力研究移動端App開發,有通路的朋友,可以和我一起探討,本人微信:jkxx123321