Адаптер кеша Couchbase Bucket
Дата обновления перевода 2024-06-24
Адаптер кеша Couchbase Bucket
7.1
CouchbaseBucketAdapter
устарел, начиная с Symfony 7.1, используйте
CouchbaseCollectionAdapter
вместо него.
Этот адаптер хранит значения в памяти используя один (или более) экземпляров сервер Couchbase. В отличие от адаптера APCu, и схоже с адаптером Memcached, он не ограничивается общей памятью текущего сервера; вы можете хранить содержание независимо от вашего окружения PHP. Возможность использовать кластер сервисов для предоставления избыточности и/или отказоустойчивости также есть.
Caution
Требования: Расширение PHP Couchbase, а также сервер Couchbase,
должны быть установлены, активны и работать для использования этого адаптера.
Для адаптера требуется версия Расширения PHP Couchbase 2.6
или ниже 3.0.
Этот адаптер ожидает экземпляр Couchbase Bucket в качестве первого параметра. Пространство имен и жизненный цикл кеша по умолчанию можно по желанию передать в качестве второго и третьего параметров:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16
use Symfony\Component\Cache\Adapter\CouchbaseBucketAdapter;
$cache = new CouchbaseBucketAdapter(
// объект клиента, который устанавливает опции и добавляет экземпляр(ы) сервера
$client,
// название корзины
$bucket,
// строка, приставленная спереди к ключам объектов, хранящихся в этом кеше
$namespace,
// жизненный цикл (в секундах) для объектов кеша, не определяющих собственный
// жизненный цикл, где 0 приведет к бессрочному хранению объектов
$defaultLifetime
);
Сконфигурируйте соединение
Метод помощника createConnection() позволяет создавать и конфигурировать класс Couchbase Bucket используя Имя источника данных (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\CouchbaseBucketAdapter;
// передать одну строку DSN, чтобы зарегистрировать один сервер для клиента
$client = CouchbaseBucketAdapter::createConnection(
'couchbase://localhost'
// DSN может содержать опции конфигурации (передайте их в качестве строки запроса):
// 'couchbase://localhost:11210?operationTimeout=10'
// 'couchbase://localhost:11210?operationTimeout=10&configTimeout=20'
);
// передать массив строк DSN, чтобы зарегистрировать несколько серверов для клиента
$client = CouchbaseBucketAdapter::createConnection([
'couchbase://10.0.0.100',
'couchbase://10.0.0.101',
'couchbase://10.0.0.102',
// и т.д. ...
]);
// одно DSN может определять несколько серверов, используя следующий синтаксис:
// host[hostname-or-IP:port] (где порт является опциональным). Сокеты должны содержать замыкание ':'
$client = CouchbaseBucketAdapter::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\CouchbaseBucketAdapter;
$client = CouchbaseBucketAdapter::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 bootstrap (в микросекундах).
durabilityInterval
(тип:int
, по умолчанию:100000
)- Время (в микросекундах), которое клиент будет ждать перед повторной пробой заданного сервера.
durabilityTimeout
(тип:int
, по умолчанию:5000000
)- Время (в микросекундах), которое клиент будет тратить на отправку повторных проб мастерам заданных ключей vBucket и репликам, до того, как они будут объявлены несоответствующими требованиям устойчивости.
Tip
Прочтите документацию предопределенных констант расширения Couchbase Bucket, чтобы узнать о других доступных опциях.