Sqlite   发布时间:2022-05-22  发布网站:大佬教程  code.js-code.com
大佬教程收集整理的这篇文章主要介绍了SQLite中并发读写的策略大佬教程大佬觉得挺不错的,现在分享给大家,也给大家做个参考。
我有一个sqlite数据库,我在进程A中保持打开和写入.我希望能够以只读方式从进程B使用它.

根据the document,

>如果数据库是UNLOCKED,数据库可能不会被读取(或写入) – 不合适
>如果数据库是SHARED,那么两个进程可以读取它,但是第一个不能写 – 不合适
>如果进程想要写入它需要一个EXCLUSIVE锁,这意味着没有其他进程可以写 – 不合适

过程A将会做很多小写,所以我不认为每次交易提交时都会生效.

我可以看到的唯一方法是让读者等到数据库进入UNLOCKED状态,在读取期间获得一个SHARED锁,然后释放它.同时进程A将要写入并且将被阻塞,直到锁可用 – 如果有的话(如果进程B崩溃了?).这意味着进程A和进程B将争用锁–B想要SHARED并且A需要EXCLUSIVE,这将减缓事情,甚至导致并发问题.

有没有办法实现我的同时写作和阅读的目的?

使用 WAL mode.它支持并发读者和一位作家.

大佬总结

以上是大佬教程为你收集整理的SQLite中并发读写的策略全部内容,希望文章能够帮你解决SQLite中并发读写的策略所遇到的程序开发问题。

如果觉得大佬教程网站内容还不错,欢迎将大佬教程推荐给程序员好友。

本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。
标签:所以