Conversation
|
А можно не трогать PeclMemcache ? |
Почему? BC же сохраняется.
Поддерживаю, добавим. |
There was a problem hiding this comment.
Не догнал. То есть в процессе работы мы можем менять параметры подключения - хост, порт, таймаут?
И после того как мы установили соединение $this->instance->pconnect() или $this->instance->connect() мы еще раз устанавливаем таймаут?
Зачем?
There was a problem hiding this comment.
То есть в процессе работы мы можем менять параметры подключения - хост, порт, таймаут?
Не, не. Смысл в том, что подключение производится только при необходимости.
мы еще раз устанавливаем таймаут?
Это ошибка. На самом деле там два вида таймаута - таймаут на подключение и таймаут на запрос. Можно задать оба.
There was a problem hiding this comment.
Ну да, не заметил что $this->instance->setServerParams() а не $this->setServerParams(),
|
Меня все-таки смущает "ленивое подключение", не могу обосновать, что-то на уровне эмоций ) |
Ну потому, что лень в этом пире нужна нам, а в остальных не очень :) Может быть кто-то другой (тот, кто пользуется) это допишет.
Это может быть полезно для последовательного кеша и всех реализаций аггрегатных кешей. Допустим у тебя 10 пиров в AggragateCache, но за время жизни скрипта ты делаешь всего один get к ним. Зачем еще 19 подключений? Это же трата ресурсов.
У нас была задумка сделать декоратор/прокси - LazyObject, который бы делегировал все вызовы внутреннему классу, создавая его при первой необходимости. Но там оверхед получался. ps. Тесты сейчас добавлю. |
|
А если мне не нужно "ленивое" подключение, я должен сразу после создания дернуть какой-нибудь метод, например isAlive() ... |
А зачем тебе это? ;) |
|
Обновил тесты, теперь они стали более лучше одеваться^W объяснять примеры использования. |
|
Все смотрю и задумываюсь - а надо ли в конструкторе добавлять новый аргумент? Может правильней было б его через отдельный setter задавать. Тем более что в этом lazy варианте теперь соединение устанавливается не в конструкторе. |
|
Мы же пишем враппер для http://ru2.php.net/manual/en/memcache.connect.php, там в конструкторе три параметра. Я тут ничего плохого не вижу. Алсо есть значение по-умолчанию, что дает сохранение обратной совместимости. |
|
@dovg разве до изменений оно коннектилось с таймаутом? Теперь же если создавать так же с двумя параметрами класс, то коннектиться к мемкешу он будет с тайматом. |
|
Хм, не прав. BC сохраняется в этом случае тоже. |
|
Друзья, если нет возражений по существу, то я это волью. |
core/Cache/PeclMemcached.class.php
Outdated
There was a problem hiding this comment.
тут слэшик лишний, пожалуй. и еще кой-где в diff'е встречается этот признак нетбинса
|
закрываю в пользу #93 |
Вот такая штука у нас родилась.
Включает в себя (в порядке следования в diff):
Тесты проходит.
Вольем?