簡單的記錄一下,“增刪改不能同時操作sqlite,查詢是支持併發”
由於 sqlite 增刪改是獨佔,當有一個進程執行時其他的操作提交就會出現 “database is locked”,其時就是sqlite的操作的獨佔的,只有查詢的時候時併發的,所以用sqlite做爲數據持久化時,只能保證同時不操作sqlite(除了查詢),這樣就不能用多線程對sqlite操作,或者說用多線程的話必須要用同步鎖,保證每次只有一個增刪改的操作。
場景:
1、不存在併發增刪改的場景
2、多線程使用同步鎖保證每次執行一個
3、增刪改 操作放在MQ,同一個進程分批執行 增刪改 操作