高併發下對不斷變化的資料進行批量操作

2021-09-25 18:49:15 字數 392 閱讀 1473

問題:

在系統的高併發下,對不斷變化的資料進行批量操作,且批量操作的資料和新增的資料互不影響,如何做?

解決方案:

方案一:使用鎖機制,在對資料操作之前鎖上一批資料,對這批資料進行批量操作,這樣可以保證批量操作的資料和新增的資料不會混合在一起被操作;具體方法:在資料庫增加乙個批量id欄位,對資料操作之前生成乙個批量id,插入資料庫,再從資料庫查詢出被插入這個批量id的資料,然後對此次批量的資料進行相關操作。

原因:

不同的業務情況下影響不同,有些業務可以不加鎖,如果對批量資料有前置操作,可以考慮這種方案。 無。

**示例:

如上。

高併發下的HashMap

1.hashmap在插入元素過多的時候需要進行resize,resize的條件是 hashmap.size capacity loadfactor。2.hashmap的resize包含擴容和rehash兩個步驟,rehash在併發的情況下可能會形成鍊錶環 hashmap進行儲存時,假設size超過當...

高併發下的MySQL

對於遊戲來說,db存在大量的insert update 可謂玩家的很多動作都會與db溝通。本文暫時忽略os 中的 io利用率,網絡卡流量,cpu變化情況,介紹如何檢視mysql部分引數 檢視每秒事務數 show global status like com commit show global st...

高併發下的nginx優化

網際網路分布式架構設計,提高系統併發能力的方式主要有兩種 垂直擴充套件 scale up 與水平擴充套件 scale out 垂直擴充套件 提公升單機處理能力。垂直擴充套件的方式又有兩種。增強單機硬體效能 提公升單機架構效能 水平擴充套件 增加伺服器,集群。在網際網路業務發展非常迅猛的早期,如果預算...