по 2, 4 пункту спасибо, но по первому вы приводите пример обычной реализации, который понятен. Но меня интересует именно, как лучше сделать синхронизацию данных в кэше с данными, которые были обновлены в БД в данный момент? Т. Е. к примеру пользователь делает выборку новостей -> вытаскиваем новости из базы -> кладем в кэш, с временем жизни 10 мин -> отдаем данные пользователю. Пока все идет хорошо. Модератор добавляет новую новость в бд -> получается, что ее пользователи увидят, только через 10 минут. А хочется, чтобы пользователи прямо сейчас получали свежие новости, следовательно, как то надо синхронизовать кэш-данные с данными бд в этот самый момент. Поэтому я и спрашиваю как это удобней сделать? После CRUD с данными, обновить кэш-данные? Или просто жестко убить данные в кэше? Или можно ввести какой-нибудь объект-маячек, с состоянием, который будет проверять изменялись ли кэш-данные?
ммм, я думаю стоит маленько пояснить, вторая команда через шину присылает сообщения, вообще из другого источника, мы их обрабатываем и записываем себе, дальше уже эти записанные и обработанные данные должны уйти обратно им в шину. Это первое что им нужно. Второе это когда уже непосредственно в нашей БД идут изменения, люди работают, и мы должны им отослать данные в шину. Так что такого случая что будет обновляться одни и теже данные в 2ух базах не может произойти.
jQuery, это всего лишь обертка над javascript, тогда собственно в чем проблема? Берите и пишите, не используйте, $. А вообще мой вам совет, возьмите библиотеку React и сделай те компонент вашего меню. Тогда вы и React прокачаете и es6, и вообще поймете что оказывается можно навсегда забыть про jQuery
...