Jcs對大資料量的處理方案

2021-09-01 02:00:34 字數 1201 閱讀 9446

jcs的原理是利用快取獲取使用者所需要的資料,減少對資料庫的訪問,從而提高儲存效率。實現該方案的需要解決兩個問題:

1.   快取的資料從哪來

2.   快取的資料的有效性

1.   快取的資料從哪來

從根源來講,快取的資料應當在查詢過資料後放入cache,通常使用者在進行業務流程時,查詢資料、放入快取。但是這樣存在乙個問題,第一次查詢不會用到快取,如果第一次查詢時的資料量非常巨大,jcs就沒有作用了。

提前載入:

當使用者登入系統時,使用者身份驗證通過後,將所需資料放入快取,這樣在使用者第一次查詢資料時就可以用到cache。

優點:第一次查詢就能提高效率;

命中高,根據使用者id查詢,cache中必然包含該使用者所需的資訊;

缺點:登入時間會變長,影響使用者體驗;

系統載入:

當系統啟動時,使用filter進行提前載入,將常用資料使用jcs進行快取。

優點:第一次查詢能夠使用快取,相對前一種方式,使用者登入的資料也可以從快取中獲取;

快取資料全(無使用者資訊,因此進行全量查詢快取);

缺點:資料容易失效,針對變更頻繁資料不宜使用;

針對大量資料(萬級以上),jcs效果會折扣;

基本快取:

最常用的方式,當使用者第一次查詢資料時,將資料放入快取,快取的資料會在使用者使用的過程中逐漸補全;

優點:效能高,放入快取的資料量通常很小;

高可靠性,使用快取不當,容易產生髒資料(快取未更新,與實時資料不符),該方法可以提高資料更新率,防止髒資料。

缺點:第一次無法使用;

快取資料健全過程慢;

2.   快取資料的有效性

快取的資料需要進行更新,從而保證資料的有效性。通常來說有兩個步驟:① 刪除舊資料; ② 補充更新

①   刪除舊資料的前提是資料發生了變更,如modify、delete等操作。此時需要從快取中將舊資料更新(含刪除)。

針對多工程的資料共享有兩種方案:

1)使用訊息的方式,通知其他共享伺服器更新快取(如mq訊息服務);

2)使用快取伺服器,統一存放快取(jcs提供相關功能);

②   補充更新的方案可以結合上面提到的快取的資料從哪來,使用提前載入、基本快取等方式,可以快速實現資料的更新,保證資料的完整。

補充一句話:沒有完美的解決方案,只有針對不同情況產生的最優方案!

大資料量處理

看看這個,異曲同工,永遠不超時 該程式是針對非常龐大的資料庫開發的,沒有用迴圈 用途 對過萬條資料的資料庫字段內容批量替換 資料庫連線 dim beeyee dbname,connstr,conn,intsn1 dim content,num,intsn,intidno,strcodea,strco...

大資料量的處理

其實這個問題老是在面試的時候提到 1。建立專門的彙總表 這個表一般是每天晚上做統計處理 建立索引 索引的話,插入和修改會變慢,也是只做統計原因之一 用來查詢,如果量非常大,那麼分表,還是大,那麼分庫,就是資料倉儲概念了 2。關聯表查詢 多表聯合查詢 的大資料,首先就是1 把多個表做成乙個統計表,或者...

航測大資料量處理 大資料量處理及優化措施

1 首先考慮垂直拆分庫,不同的表拆分到不同的庫中,例如使用者庫 產品庫 支付庫 2 然後考慮水平拆分庫,將乙個表的資料放到多張表中,例如按照使用者 時間 訂單號 3 插入資料的時候不建立索引 4 待資料已經插入完成後,建立索引 5 正確的指定索引字段 6 使用批量插入資料庫的方式代替單條資料的插入 ...