YYKVStorage init error: fail to open sqlite db,请问如何解决
MrCaiWH opened this issue · 10 comments
2018-01-25 16:13:45.808 iKaoYan[27454:405585] -[YYKVStorage _dbExecute:] line:166 sqlite exec error (5): database is locked
2018-01-25 16:13:45.816 iKaoYan[27454:405625] -[YYKVStorage _dbExecute:] line:166 sqlite exec error (5): database is locked
2018-01-25 16:13:45.816 iKaoYan[27454:405585] -[YYKVStorage _dbExecute:] line:166 sqlite exec error (5): database is locked
2018-01-25 16:13:45.817 iKaoYan[27454:405585] YYKVStorage init error: fail to open sqlite db.
我也遇到了同样的问题,请问你是怎么解决的
@xiaoerlong 没解决,不用了,换别的方式了
一个线程访问也会报错
遇到同样的问题-_- 初始化db就报错了。。
@Chengruihh 你看一下是不是有多个线程访问
@xiaoerlong 貌似没有,只是在登录成功后保存了一下信息,还没有进入后面的逻辑。而且是很偶尔的会出现,大部分时候不出现。
YYKVStorage里面说明了,这个class不是thread safe的
并没有人直接使用 YYKVStorage,都是直接使用的 YYCache。但是 YYDiskCache 封装了 YYKVStorage,任然是会报上面的错误!
多线程同时操作同一张表引起,尝试自己加一个全局锁试一下 https://www.jianshu.com/p/6422ae4e06c2