Я хотел бы использовать getDelayed
в расширении PHP Memcached, но я думаю, что оно неправильно реализовано.
Прямо сейчас вы запрашиваете некоторые ключи, а затем получаете все их с помощью fetch()
и fetchAll()
. Но представьте себе сценарий, в котором мне нужно получить 15 ключей, используемых в разных частях страницы, которые я не знаю заранее, но я могу попросить различные объекты дать мне список. Что я хочу, так это дать экземпляру Memcached этот список (каждый компонент отдает свою часть), а затем позже, когда мне нужно, чтобы они извлекались из экземпляра, но не все из них сразу: каждый компонент получал тот, который ему нужен.
В принципе, если бы я реализовал это, я бы запретил использовать только getDelayed
и реализовал бы метод bookGet($keys)
, в котором вы бы добавили ключи к книге (который на самом деле вызывает getDelayed
) и переопределил get
для обработки три случая:
- ключ зарегистрирован и извлечен -> вернуть значение;
- ключ забронирован, но не восстановлен -> пойти и принудительно извлечь забронированные ключи и вернуть правильное значение;
- ключ не забронирован -> сделать обычный поиск.
Я хочу знать, имеет ли это смысл, ваши мысли по этому вопросу и если кто-то уже реализовал это или, возможно, PECL Memcached уже работает таким образом, и на самом деле документация не объясняет это правильно.