第七色在线视频,2021少妇久久久久久久久久,亚洲欧洲精品成人久久av18,亚洲国产精品特色大片观看完整版,孙宇晨将参加特朗普的晚宴

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

PHP處理大數(shù)據(jù),如何保證處理完整性

PHP處理大數(shù)據(jù),如何保證處理完整性

PHP處理大數(shù)據(jù),如何保證處理完整性;如:同時給1W個用戶轉賬,如何保證一次觸發(fā),讓所有用戶的轉賬都到賬。請詳細說明!
查看完整描述

2 回答

?
富國滬深

TA貢獻1790條經(jīng)驗 獲得超9個贊

使用memcacheq等隊列,慢慢處理

查看完整回答
反對 回復 2018-08-02
?
慕虎7371278

TA貢獻1802條經(jīng)驗 獲得超4個贊

我覺得你希望的是
1 保證單個用戶的操作準確,如果其中一個步驟出現(xiàn)問題,立刻回滾,之后從新開始轉賬步驟
2 對單個用戶的操作不管是否成功 都不會對其他用戶的操作產(chǎn)生影響

我舉一個例子,
比如轉賬需要10個步驟,你寫十個接口,
每個接口都有一個返回值(表示這個操作是否成功),這十個接口放到隊列里面(這是保證 轉賬10個步驟處理是有序的),

用戶當轉賬的時候, 使用 轉賬的步驟隊列,

上面是轉賬的操作,下面再說說對用戶的處理

我們將 用戶看作對象,用戶的信息就是 對象的屬性,將所有的對象放到 隊列里面, 遍歷這個隊列,對每一個用戶都進行如下操作
1 先記錄這個用戶的狀態(tài)(留著出現(xiàn)意外恢復用的),
2 轉賬的步驟隊列
2-error 出現(xiàn)問題,恢復用戶的初始信息,將這個用戶重新添加到隊列的尾部


上面說的都是保證處理的完整性,下面說說速度問題
為了提升讀寫速度(我是說內(nèi)容很多的話),你可以使用redis這樣的nosql數(shù)據(jù)庫,redis里面有隊列這個數(shù)據(jù)結構,你百度一下看看。

再其次,可以考慮使用多線程,創(chuàng)建10個線程,1w個用戶分分,一個線程處理1千個用戶

希望能幫到你


查看完整回答
反對 回復 2018-08-02
  • 2 回答
  • 0 關注
  • 1037 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯(lián)系客服咨詢優(yōu)惠詳情

幫助反饋 APP下載

慕課網(wǎng)APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網(wǎng)微信公眾號