Создал слои Model->Repository->Service Репозиторий - атомарные операции (создать, выбрать, удалить) Логика в сервисах. Использовал такой подход для прозрачности + так проще писать автотесты. Возможен другой подход - сделать events на сохранение модели.
###Кэш в кэше используем тэги, это необходимо учесть при выборе драйвера