Адаптер коллекции кеша Couchbase
Дата обновления перевода 2024-06-24
Адаптер коллекции кеша Couchbase
Этот адаптер хранит значения в памяти, используя один (или более) экземпляр сервера Couchbase. В отличие от адаптера APCu, и схоже с адаптером Memcached, он не ограничен общей памятью текущего сервера; вы можете хранить содержание независимо от вашего PHP-окружения. Возможность использовать кластер серверов для предоставления избыточности и/или восстановления после отказа, также доступна.
Caution
Требования: Расширение Couchbase PHP, а также сервер Couchbase
должны быть установлены, активны и запущены, чтобы использовать этот адаптер.
Для адаптера требуется Расширение Couchbase PHP версии 3.0
или выше.
Данный адаптер ожидает экземпляр коллекции Couchbase, переданный в качестве первого параметра. Пространство имен и жизненный цикл кеша по умолчанию могут быть по желанию переданы в качестве второго и третьего параметров:
1 2 3 4 5 6 7 8 9 10 11 12 13
use Symfony\Component\Cache\Adapter\CouchbaseCollectionAdapter;
$cache = new CouchbaseCollectionAdapter(
// объект клиента, который устанавливает опции и добавляет экземпляр(ы) сервера
$client,
// строка, добавленая в начале ключей объектов, хранящихся в этом кеше
$namespace,
// жизненный цикл по умолчанию (в секундах) для объектов кеша, которые не определяют собственный
// жизненный цикл, где значение 0 приведет к бессрочному хранению объектов
$defaultLifetime
);
Сконфигурируйте соединение
Метод хелпера createConnection() позволяет создание и конфигурацию экземпляра класса коллекции Couchbase, используя Имя источника данных (DSN) или массив DSN:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23
use Symfony\Component\Cache\Adapter\CouchbaseCollectionAdapter;
// передать одну строку DSN для регистрации одного сервера для клиента
$client = CouchbaseCollectionAdapter::createConnection(
'couchbase://localhost'
// DSN может включать в себя опции конфигурации (передайте их в виде строки запроса):
// 'couchbase://localhost:11210?operationTimeout=10'
// 'couchbase://localhost:11210?operationTimeout=10&configTimout=20'
);
// передать массив строк DSN для регистрации множества серверов для клиента
$client = CouchbaseCollectionAdapter::createConnection([
'couchbase://10.0.0.100',
'couchbase://10.0.0.101',
'couchbase://10.0.0.102',
// etc...
]);
// одно DSN может определять множество серверов, используя следующий синтаксис:
// host[hostname-or-IP:port] (where port is optional). Sockets must include a trailing ':'
$client = CouchbaseCollectionAdapter::createConnection(
'couchbase:?host[localhost]&host[localhost:12345]'
);
Сконфигурируйте опции
Метод хелпера createConnection()
также принимает массив опций в качестве второго аргумента. Ожидаемый формат - ассоциированный массив
пар key => value
, представляющий собой имена опций и их соответствующие значения:
1 2 3 4 5 6 7 8 9 10 11 12 13
use Symfony\Component\Cache\Adapter\CouchbaseCollectionAdapter;
$client = CouchbaseCollectionAdapter::createConnection(
// строка DSN или массив строк DSN
[],
// ассоциированный массив опций конфигурации
[
'username' => 'xxxxxx',
'password' => 'yyyyyy',
'configTimeout' => '100',
]
);
Доступные опции
username
(тип:string
)-
Имя пользователя для соединения
CouchbaseCluster
. password
(тип:string
)-
Пароль соединения
CouchbaseCluster
. operationTimeout
(тип:int
, по умолчанию:2500000
)- Таймаут операции (в микросекундах) - это максимальное количество времени, которое библиотека будет ждать, пока операция получит ответ, перед запуском обратного вызова со статусом неудачи.
configTimeout
(тип:int
, по умолчанию:5000000
)- То, как долго (в микросекундах) клиент будет ждать, чтобы получить изначальную конфигурацию.
configNodeTimeout
(тип:int
, по умолчанию:2000000
)- Поузловой таймаут конфигурации (в микросекундах).
viewTimeout
(тип:int
, по умолчанию:75000000
)- Таймаут I/O (в микросекундах) для HTTP-запросов к Couchbase Views API.
httpTimeout
(тип:int
, по умолчанию:75000000
)- Таймаут I/O (в микросекундах) для HTTP-запросов (API менеджмент).
configDelay
(тип:int
, по умолчанию:10000
)- Регулирование обновления конфигурации Изменить количество времени (в микросекундах) до того, как насильно будет установлена ошибка конфигурации до своего максимального числа, форсируя обновление конфигурации.
htconfigIdleTimeout
(тип:int
, по умолчанию:4294967295
)- Ожидание/устойчивость для самозагрузки HTTP (в микросекундах).
durabilityInterval
(тип:int
, по умолчанию:100000
)- Время (в микросекундах), которое клиент будет ждать, между повторными пробами заданного сервера.
durabilityTimeout
(тип:int
, по умолчанию:5000000
)- Время (в микросекундах), которое клиент проведет, отправляя повтроные пробы заданным мастерам и репликам ключей vBucket, до того, как они будут признаны неудовлетворительными для требований продолжительности.
Tip
Смотрите документацию предопределенные константы расширения коллекции Couchbase, чтобы узнать больше о доступных опциях.