微信IOS WCDB實(shí)踐

關(guān)于WCDB

1)微信2017年6月9日對外發(fā)布的移動數(shù)據(jù)庫存儲開源組件,支持iOS、macOS 和 Android。

2)WCDB支持iOS 7、macOS 10.9以上

3)使用Xcode 8.0以上版本進(jìn)行編譯

4)使用Objective-C++,引用到的文件擴(kuò)展名修改成.mm

ORM CURD

1)類綁定

2)創(chuàng)建

支持增加字段,但不支持刪除、重命名字段,重命名須重新綁定字段。

支持主鍵自增

3)更新

1)支持事務(wù)

2)不支持多重語句,會自動嵌入事務(wù),以提高性能。

3)日期型自動格式化成數(shù)字型存儲

4)讀取

1)查詢時可獲取數(shù)據(jù)庫操作的耗時、錯誤信息

2)支持重定向

3)支持多表查詢

4)鏈?zhǔn)浇涌诓恢С侄嗑€程調(diào)用

5)刪除

WINQ (WENXINLanguage Integrated Query)(集成查詢)

1)不可能覆蓋所有SQL的用法,提供了執(zhí)行為封裝的SQL的能力

2)支持常用的聚合函數(shù)

3)支持全局監(jiān)控與錯誤處理

多線程高并發(fā)

WCDB 支持多線程讀與讀、讀與寫并發(fā)執(zhí)行,寫與寫串行執(zhí)行,內(nèi)置連接池,任意創(chuàng)建不同的基礎(chǔ)類對象,WCDB會自動管理它們的共享數(shù)據(jù)和線程并發(fā)。

加密

WCDB提供基于SQLCipher的數(shù)據(jù)庫加密

反注入

不要在SQL內(nèi)直接拼接數(shù)據(jù),而是用?的綁定參數(shù)代替。這種方式可以減少SQL的解析時間,同時防止SQL注入。

損壞修復(fù)

WCDB 內(nèi)建了 Repair Kit 用于修復(fù)損壞的數(shù)據(jù)庫

FMDB遷移WCDB

微信建議WCDB與FMDB不要共存,否則有可能造成數(shù)據(jù)庫損壞, 目前WCDB暫未提供直接執(zhí)行SQL串的語句,對原項(xiàng)目中SQL語句改造需創(chuàng)建Model或直接調(diào)用C++對象拼接SQL,后續(xù)繼續(xù)與微信團(tuán)隊(duì)溝通遷移方案引入現(xiàn)有開發(fā)項(xiàng)目中。

參考資料

https://github.com/Tencent/wcdb

https://mp.weixin.qq.com/s/QvupbDDKuc-_gWMS0w-GrA

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容