# A classe MongoDB\Driver\ReadPreference

(mongodb >=1.0.0)

## Introdução

## Resumo da classe

final class MongoDB\Driver\ReadPreference implements MongoDB\BSON\Serializable, Serializable {
/* Propriedades */
public readonly string $mode;
public readonly ?array $tags;
public readonly int $maxStalenessSeconds;
public readonly ?object $hedge;
/* Constantes */
const string PRIMARY = primary;
const string PRIMARY_PREFERRED = primaryPreferred;
const string SECONDARY = secondary;
const string SECONDARY_PREFERRED = secondaryPreferred;
const string NEAREST = nearest;
const int NO_MAX_STALENESS = -1;
const int SMALLEST_MAX_STALENESS_SECONDS = 90;
/* Métodos */
final public function bsonSerialize(): stdClass
final public function __construct(string `$mode`, ?array `$tagSets` = `null`, ?array `$options` = `null`)
final public function getHedge(): ?object
final public function getMaxStalenessSeconds(): int
final public function getMode(): int
final public function getModeString(): string
final public function getTagSets(): array
}

## Propriedades

mode
  O modo de preferência de leitura como uma string (por exemplo, `"primary"`, `"secondary"`).
tags
  A lista de conjuntos de tags usada pela preferência de leitura, ou `null` se nenhum conjunto de tags foi especificado.
maxStalenessSeconds
  O tempo máximo de defasagem em segundos para leituras, ou `MongoDB\Driver\ReadPreference::NO_MAX_STALENESS` se nenhum tempo máximo de defasagem foi especificado.
hedge
  Um documento que especifica as opções de hedge para a preferência de leitura, ou `null` se nenhuma opção de hedge foi especificada.
  Aviso

  Esta propriedade foi descontinuada, pois as leituras protegidas estão obsoletas no MongoDB 8.0.

## Constantes predefinidas

`MongoDB\Driver\ReadPreference::PRIMARY`
  Todas as operações são lidas do conjunto de réplicas primário atual. Esta é a preferência de leitura padrão do MongoDB.
`MongoDB\Driver\ReadPreference::PRIMARY_PREFERRED`
  Na maioria das situações, as operações são lidas a partir dos membros primários, mas se não estiver disponível, as operações são lidas a partir dos membros secundários.
`MongoDB\Driver\ReadPreference::SECONDARY`
  Todas as operações são lidas nos membros secundários do conjunto de réplicas.
`MongoDB\Driver\ReadPreference::SECONDARY_PREFERRED`
  Na maioria das situações, as operações são lidas a partir de membros secundários, mas se nenhum membro secundário estiver disponível, as operações são lidas a partir do primário.
`MongoDB\Driver\ReadPreference::NEAREST`
  Operações lidas do membro do conjunto de réplicas com a menor latência de rede, independentemente do tipo do membro.
`MongoDB\Driver\ReadPreference::NO_MAX_STALENESS`
  O valor padrão para a opção `"maxStalenessSeconds"` é não especificar nenhum limite de inatividade máxima, o que significa que o driver não considerará o atraso de um secundário ao escolher para onde direcionar uma operação de leitura.
`MongoDB\Driver\ReadPreference::SMALLEST_MAX_STALENESS_SECONDS`
  O valor mínimo para a opção `"maxStalenessSeconds"` é 90 segundos. O driver estima a inatividade dos secundários verificando periodicamente a data de gravação mais recente de cada membro do conjunto de réplicas. Como essas verificações são pouco frequentes, a estimativa de inatividade é grosseira. Assim, o driver não pode impor um valor máximo de inatividade inferior a 90 segundos.

## Registro de Alterações

Versão | Descrição
--- | ---
PECL mongodb 2.3.0 | Adicionadas propriedades públicas readonly.
PECL mongodb 2.0.0 | Removidas as constantes `MongoDB\Driver\ReadPreference::RP_PRIMARY`, `MongoDB\Driver\ReadPreference::RP_PRIMARY_PREFERRED`, `MongoDB\Driver\ReadPreference::RP_SECONDARY`, `MongoDB\Driver\ReadPreference::RP_SECONDARY_PREFERRED` e `MongoDB\Driver\ReadPreference::RP_NEAREST`. O método getMode() também foi removido.
PECL mongodb 1.20.0 | As constantes `MongoDB\Driver\ReadPreference::RP_PRIMARY`, `MongoDB\Driver\ReadPreference::RP_PRIMARY_PREFERRED`, `MongoDB\Driver\ReadPreference::RP_SECONDARY`, `MongoDB\Driver\ReadPreference::RP_SECONDARY_PREFERRED`, e `MongoDB\Driver\ReadPreference::RP_NEAREST` foram descontinuadas.
PECL mongodb 1.7.0 | As constantes `MongoDB\Driver\ReadPreference::PRIMARY`, `MongoDB\Driver\ReadPreference::PRIMARY_PREFERRED`, `MongoDB\Driver\ReadPreference::SECONDARY`, `MongoDB\Driver\ReadPreference::SECONDARY_PREFERRED`, e `MongoDB\Driver\ReadPreference::NEAREST` foram adicionadas. Implementa Serializable.
PECL mongodb 1.2.0 | As constantes `MongoDB\Driver\ReadPreference::NO_MAX_STALENESS` e `MongoDB\Driver\ReadPreference::SMALLEST_MAX_STALENESS_SECONDS` foram adicionadas. Implementa MongoDB\BSON\Serializable.

## Índice

- MongoDB\Driver\ReadPreference::bsonSerialize — Retorna um objeto para serialização BSON
- MongoDB\Driver\ReadPreference::__construct — Cria uma nova preferência de leitura
- MongoDB\Driver\ReadPreference::getHedge — Retorna a opção "hedge" do ReadPreference
- MongoDB\Driver\ReadPreference::getMaxStalenessSeconds — Retorna a opção "maxStalenessSeconds" do ReadPreference
- MongoDB\Driver\ReadPreference::getMode — Retorna a opção "mode" do ReadPreference
- MongoDB\Driver\ReadPreference::getModeString — Retorna a opção "mode" do ReadPreference
- MongoDB\Driver\ReadPreference::getTagSets — Retorna a opção "tagSets" do ReadPreference

`↑` and `↓` to navigate • `Enter` to select • `Esc` to close • `/` to open