Предыдущий коммент отправился не вовремя ). Опишу подробнее.
$oUser->save(); Обновит кэш вызовом метода (addInstanceToPool($this)).
$oUser->delete(); Удалит из кэша объект (removeInstanceFromPool()).
UserPeer::retrieveByPk(); Положит объект в кэш, если его там нет (getInstanceFromPool, addInstanceToPool())
UserPeer::doDelete(); очистит весь кэш модели, если в него передадут объект Criteria (clearInstancePool()) или конкретный объект (removeInstanceFromPool()), если передадут PK.
Таким образом, если мы будем менять данные в базе только через модель, за актуальность отвечает Propel, иначе — мы сами.
А всё просто на самом деле: на текущий момент ORM по-умолчанию в symfony — Propel. Doctrine заменит Propel в версии 1.3, которая должна выйти 30 ноября.
Как я подружил «memcache» и Propel в Symfony