freeek
строго говоря зависит от реализации,но
часто - это фича такого хранилища,связана с тем что удалённые данные не вынимаются из файла
по идее должна быть возможность очищать файл от неактуальных записей ,если нагуглить не можешь то делается просто - из файла вычитываются все записи и записываются в новый
а вообще PHP >5.0 по умолчанию имеет внутри SQLite , юзай его