duanjia2415 2014-12-24 11:46
浏览 105

Yii Cache:在SQLite中发生SQLite DB Lock数据库锁定异常

Yii Cache was working fine for me until today when I saw DB exception in a script using cache:

exception 'CDbException' with message 'CDbCommand failed to execute the SQL statement: SQLSTATE[HY000]: General error: 5 database is locked. The SQL statement executed was: DELETE FROM YiiCache WHERE id='9ccac723c84ae75582784f9e3738d781'' in C:\xampp\htdocs\framework\db\CDbCommand.php:336

I have no idea why this error came up while everything was normal a minute before. After that I saw couple of more same exceptions Yii cache and then another:

exception 'CDbException' with message 'CDbCommand failed to execute the SQL statement: CDbCommand failed to prepare the SQL statement: SQLSTATE[HY000]: General error: 1 table YiiCache already exists. The SQL statement executed was: CREATE TABLE YiiCache
(
        id CHAR(128) PRIMARY KEY,
        expire INTEGER,
        value BLOB
)' in C:\xampp\htdocs\framework\db\CDbCommand.php:336

Since cache is being used on many places in the code so I cannot put the try catch everywhere, instead I would like to settle the root cause. This problem was solved when I removed the db cache file and framework started a new file. The old file size was around 71MB.

Enviroment:

WAMP

Yii Framework: 1.1.8

PHP version: 5.3.8

Please let me know so I can avoid this in future.

Thank you

Update:

I would like to add some information here which might be helpful. My SQlite cache db file size increases insanely sometimes which causes the slower DB open and close operations. Normally this file does not have more then 500KB data but sometimes suddenly it goes upto 40MB and hence slowdown the operations.

  • 写回答

0条回答

    报告相同问题?

    悬赏问题

    • ¥15 高德地图点聚合中Marker的位置无法实时更新
    • ¥15 DIFY API Endpoint 问题。
    • ¥20 sub地址DHCP问题
    • ¥15 delta降尺度计算的一些细节,有偿
    • ¥15 Arduino红外遥控代码有问题
    • ¥15 数值计算离散正交多项式
    • ¥30 数值计算均差系数编程
    • ¥15 redis-full-check比较 两个集群的数据出错
    • ¥15 Matlab编程问题
    • ¥15 训练的多模态特征融合模型准确度很低怎么办