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.