本地資料庫與API調取的資料的同步

2021-08-20 00:23:43 字數 773 閱讀 3275

最近做專案需要將通過api的到的資料存到本地,並且確保本地資料庫中某張表的資料與資料來源的資料保持一定的同步性,以下為解決問題的思路:

1.在本地做好對映確保可以從外部訪問,讓api的提供方在資料庫提供乙個觸發器,當資料提供方的資料發生變化時,主動同步到本地。(對方拒絕,撲街)

2.用mysql的repalce into 語句進行結合定時器來對資料的定時更新。

3.網上還有一種思路是,從本地資料庫呼叫此表中不變的字段,從api呼叫改變的字段並儲存到快取以減少訪問遠端的次數以及減少資料量。但是本表是row整體變化所以不採用。

採用replace into附上自己在mybatis中的使用:

repalce into relation_detail

(pcrproductsku,

pcrquantity,

pcrpercent

)values(#,

#,#

)

使用replace into 應該注意一下幾點:

replace跟insert的功能類似,區別在於:

1.replace 在將資料插入表中之前先判斷是否存在此條資料,如果存在先刪除此條資料,不存在直接插入資料。(判斷的條件是主鍵或者唯一索引,插入資料的表必須有主鍵或者是唯一索引!否則的話,replace into會直接插入資料,這將導致表中出現重複的資料)。

2.replace into中的into可以省略不寫,但是個人習慣寫明。

3.如果某列無值,mysql將插入預設的值

C 程式設計 基於服務的資料庫與本地資料庫

基於服務的資料庫 用於基於服務的資料訪問的空sql server資料庫。基於服務的資料庫擴充套件名為.mdf,是基於sql server服務的,需要在執行程式的機器安裝sql server enterprise standard express等版本都可以 本地資料庫 乙個用於本地資料的sql se...

AIR本地資料庫的使用

air本地資料庫的使用 最近做個桌面的小應用,想要使用air的本地資料庫功能,儲存使用者的歷史操作資訊和資料,其實就是儲存使用者已經開啟過的檔案。對使用者的操作資訊的儲存,的確是很有用的,日後可以以此進行分析,總結使用者習慣,設計更加友好的程式,更符合使用者自然人操作行為的介面。另外本地資料庫的使用...

資料庫本地事務

乙個事務可以讀取到另乙個事務未提交的內容,就是髒讀 讀取不到未提交的資料,讀的還是原始資料,只有事務提交後了才能讀取到 在乙個事務執行過程中,不管對方事務有沒有提交,讀取到的資料都是一致的 事務被排成隊,乙個個去執行 隔離性和一致性可以通過事務去實現,但是原子性和永續性是靠undo和redo實現的 ...