Существуют некоторые проблемы при использовании memcached для аннулирования / обновления устаревших данных из-за расы условий , от которых зависит один из основных Johnny Cache бэкэндов.В вашем конкретном случае, скажем, у вас всего 10 обновлений, а затем два разных пользователя в двух отдельных процессах создают обновление заявки.Вполне возможно, что в итоге вы отобразите только 11 обновлений для обоих, хотя их всего 12: одно из них закончится серьезным случаем WTF?
та проблема, с которой вы столкнетесь при любом решении о недействительности модели / набора запросов, если memcached - это ваш магазин.Вы не объединяете много строк из нескольких разных таблиц, так что это не должно рассматриваться как дорогой запрос - вы, вероятно, можете просто положиться на базу данных.
Но, не понимая в полной мере той работы, которую вы выполняете, было бы неправильно предлагать такую вещь.Однако я хотел бы предложить вам рассмотреть возможность использования mongoDB , Tokyo Cabinet или Redis в качестве замены кэша для memcached, вситуации, когда вам нужно иметь детальный контроль над обновлением критических пользовательских данных.
Еще одна вещь, которую вы можете сделать, - это направлять все запросы на обновление таких данных через экземпляр вашего приложения, который выполняется исключительно в одном процессе.,Это полностью устранит конфликты по поводу обновления в memcached, и это жизнеспособно для приложений, где чтения значительно превосходят записи, хотя я понимаю, как это может быстро стать кошмаром для разработчиков.