Тъй като времето за репликация на MySQL е неконтролируема променлива (дори при правилни реализации могат да възникнат проблеми, които спират репликацията или я блокират), най-добре е да не разчитате на репликацията на данни. Можете да разделите проблема на две ситуации:
1) Аз съм потребителят, който извършва CUD операция, очаквам следговорите на операцията R да отразяват промяната, която току-що направих. В този случай абсолютно трябва да изтеглите данните от главния, защото потребителят очаква, че неговата промяна е имала ефект.
2) Аз съм външен потребител, не знам дали се е случила команда CUD и по принцип не ме интересува, така че връщането на остарели данни е приемливо (в 99% от реализациите, в противен случай вероятно няма да използвате PHP* ).
Алтернатива на #1 би била да информирате потребителя, че неговата промяна се разпространява и е приемлива в някои ситуации, напр. много уебсайтове ще ви кажат, че x може да отнеме до y минути, за да се появи, това е тази ситуация в действие.
- Ако имате нужда от незабавни актуализации, можете да опитате да пишете в кеш слой, който се анкетира заедно с (потенциално ненадеждни) DB данни. Нещо като memcached би било основен кандидат.