搜尋

首頁  >  問答  >  主體

php - mysql呼叫介面實現資料同步的問題

1.情境描述:
現在本地資料庫需要與藥房資料庫同步庫存(字段)資訊,實現方式是調用藥房的介面取得單一藥品的庫存。
2.解決方案:
定時任務時間,如果幾分鐘(例如:2分鐘)同步一次,我查詢本地資料庫遍歷每筆記錄調接口,更新每筆記錄。
3.問題:
本地資料庫數萬條數據,同時取出操作記憶體一定會爆掉,而且2分鐘還沒同步完,又重新執行怎麼辦?

有點模糊的思路,分塊取,例如每次取100條更新。怎麼設計,測驗才能達到比較好的效果呢?

伊谢尔伦伊谢尔伦2791 天前795

全部回覆(2)我來回復

  • PHP中文网

    PHP中文网2017-05-16 13:08:33

    沒有太明白需求,只能給個參考:

    一、如果有權限修改藥局資料庫的話:

    直接在药房数据库添加一个触发器,当库存修改的时候,
    主动同步到本地(前提是本地要做映射,也就是可以在外面访问)。
    

    二、如果是無權修改藥局資料庫:

    其实是不需要,每隔2分钟去同步一次的。本地在展示的时候,比如,
    一页展示10个产品,那在取数据时候,数据的库存字段是去药房取,
    而其它字段在本地取(远程取来的时候,做一个本地缓存,防止多从访问去远程取多次)
    
    

    回覆
    0
  • 我想大声告诉你

    我想大声告诉你2017-05-16 13:08:33

    樓主先確認一下,透過介面呼叫單一藥品的庫存,你2分鐘能全部查完嗎,如果能,如此頻繁的io操作不如先用Redis保存,然後再做個定時任務後面插入到資料庫裡。

    回覆
    0
  • 取消回覆