(PECL memcached >= 0.1.0)
Memcached::setByKey — Сохраняет элемент на конкретном сервере
$server_key
,$key
,$value
,$expiration
= 0
Метод Memcached::setByKey() функционально эквивалентен
методу Memcached::set(), за исключением того, что произвольный
ключ server_key
может использоваться для сопоставления
ключа key
с конкретным сервером. Это полезно, когда требуется держать
несколько связанных значений на конкретном сервере.
server_key
Ключ, который идентифицирует сервер, на котором хранится значение. Вместо хеширования фактического ключа элемента хешируется ключ сервера, когда решается, с каким сервером memcached взаимодействовать. Это разрешает группировать связанные элементы вместе на одном сервере, что повышает эффективность групповых операций.
key
Ключ, под которым сохраняется значение.
value
Сохраняемое значение.
expiration
Время хранения объекта, по умолчанию равно 0. Подробнее об этом рассказывает раздел «Время хранения объекта».
Функция возвращает true
, если выполнилась успешно, или false
, если возникла ошибка.
Вызывайте метод
Memcached::getResultCode(), если требуется.
Пример #1 Пример использования метода Memcached::setByKey()
<?php
$m = new Memcached();
$m->addServer('localhost', 11211);
/* Хранение блоков IP-адресов на конкретном сервере */
$m->setByKey('api-cache', 'block-ip:169.254.253.252', 1);
$m->setByKey('api-cache', 'block-ip:169.127.127.202', 1);
?>