Как вы сказали, все операции с memcache являются атомарными. Чтобы повторять ответы других, не используйте наивную спин-блокировку на движке приложения. Вы будете использовать свою дневную квоту примерно через 20 минут. Теперь к вашему решению:
Я сделал что-то вроде этого. Я создал очередь задач с размером сегмента 1 и скоростью выполнения 1/10 с (одна задача в 10 секунд). Я использовал эту очередь для «вращения», за исключением того, что она имеет преимущество проверки только один раз в 10 секунд. Я не уверен, каков ваш вариант использования, но даже выполнение задачи один раз в секунду намного лучше, чем просто вращение в цикле. Таким образом, вы реализуете сервлет задачи, который проверяет состояние этой блокировки и, если она свободна, делает все, что вы хотите.