# La classe MongoDB\Driver\ReadPreference

(mongodb >=1.0.0)

## Introduction

## Synopsis de la classe

final class MongoDB\Driver\ReadPreference implements MongoDB\BSON\Serializable, Serializable {
/* Propriétés */
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éthodes */
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
}

## Propriétés

mode
  Le mode de préférence de lecture sous forme de chaîne (par exemple `"primary"`, `"secondary"`).
tags
  La liste des jeux d'étiquettes utilisés par la préférence de lecture, ou `null` si aucun jeu d'étiquettes n'a été spécifié.
maxStalenessSeconds
  L'obsolescence maximale en secondes pour les lectures, ou `MongoDB\Driver\ReadPreference::NO_MAX_STALENESS` si aucune obsolescence maximale n'a été spécifiée.
hedge
  Un document spécifiant les options de couverture (hedge) pour la préférence de lecture, ou `null` si aucune option de couverture n'a été spécifiée.
  Avertissement

  Cette propriété est obsolète car les lectures couvertes (hedged reads) sont obsolètes dans MongoDB 8.0.

## Constantes pré-définies

`MongoDB\Driver\ReadPreference::PRIMARY`
  Toutes les opérations lues à partir du jeu de réplicas actuel primaire. Il s'agit de la préférence de lecture par défaut pour MongoDB.
`MongoDB\Driver\ReadPreference::PRIMARY_PREFERRED`
  Dans la plupart des situations, les opérations sont lues à partir du primaire, mais s'il n'est pas disponible, les opérations sont lues à partir de membres secondaires.
`MongoDB\Driver\ReadPreference::SECONDARY`
  Toutes les opérations sont lues à partir des membres secondaires du jeu de réplicas.
`MongoDB\Driver\ReadPreference::SECONDARY_PREFERRED`
  Dans la plupart des cas, les opérations sont lues par des membres secondaires, mais si aucun membre secondaire n'est disponible, les opérations sont lues à partir du primaire.
`MongoDB\Driver\ReadPreference::NEAREST`
  Les opérations sont lues à partir du membre du jeu de réplicas avec la latence de réseau la moins élevée, quel que soit le type du membre.
`MongoDB\Driver\ReadPreference::NO_MAX_STALENESS`
  La valeur par défaut de l'option `"maxStalenessSeconds"` est de ne spécifier aucune limite sur l'obsolescence maximale, ce qui signifie que le pilote ne prendra pas en compte le décalage d'un secondaire lors du choix de l'endroit où diriger une opération de lecture.
`MongoDB\Driver\ReadPreference::SMALLEST_MAX_STALENESS_SECONDS`
  La valeur minimale de l'option `"maxStalenessSeconds"` est de 90 secondes. Le pilote estime l'obsolescence des secondes en vérifiant périodiquement la dernière date d'écriture de chaque membre du jeu de réplicas. Comme ces contrôles sont peu fréquents, l'estimation de l'obsolescence est grossière. Ainsi, le pilote ne peut pas appliquer une valeur d'obsolescence maximale inférieure à 90 secondes.

## Historique

Version | Description
--- | ---
PECL mongodb 2.3.0 | Ajout des propriétés publiques readonly.
PECL mongodb 2.0.0 | Supprimer les constantes `MongoDB\Driver\ReadPreference::RP_PRIMARY`, `MongoDB\Driver\ReadPreference::RP_PRIMARY_PREFERRED`, `MongoDB\Driver\ReadPreference::RP_SECONDARY`, `MongoDB\Driver\ReadPreference::RP_SECONDARY_PREFERRED`, et `MongoDB\Driver\ReadPreference::RP_NEAREST`. La méthode getMode() a également été supprimée.
PECL mongodb 1.20.0 | Les constantes `MongoDB\Driver\ReadPreference::RP_PRIMARY`, `MongoDB\Driver\ReadPreference::RP_PRIMARY_PREFERRED`, `MongoDB\Driver\ReadPreference::RP_SECONDARY`, `MongoDB\Driver\ReadPreference::RP_SECONDARY_PREFERRED`, et `MongoDB\Driver\ReadPreference::RP_NEAREST` sont obsolètes.
PECL mongodb 1.7.0 | Ajout des constantes `MongoDB\Driver\ReadPreference::PRIMARY`, `MongoDB\Driver\ReadPreference::PRIMARY_PREFERRED`, `MongoDB\Driver\ReadPreference::SECONDARY`, `MongoDB\Driver\ReadPreference::SECONDARY_PREFERRED`, `MongoDB\Driver\ReadPreference::NEAREST`. Implémente Serializable.
PECL mongodb 1.2.0 | Ajout des constantes `MongoDB\Driver\ReadPreference::NO_MAX_STALENESS` et `MongoDB\Driver\ReadPreference::SMALLEST_MAX_STALENESS_SECONDS`. Implémente MongoDB\BSON\Serializable.

## Sommaire

- MongoDB\Driver\ReadPreference::bsonSerialize — Renvoie un objet pour la sérialisation BSON
- MongoDB\Driver\ReadPreference::__construct — Créer un nouveau ReadPreference
- MongoDB\Driver\ReadPreference::getHedge — Renvoie l'option "hedge" du ReadPreference
- MongoDB\Driver\ReadPreference::getMaxStalenessSeconds — Renvoie l'option "maxStalenessSeconds" du ReadPreference
- MongoDB\Driver\ReadPreference::getMode — Renvoie l'option "mode" du ReadPreference
- MongoDB\Driver\ReadPreference::getModeString — Renvoie l'option "mode" du ReadPreference
- MongoDB\Driver\ReadPreference::getTagSets — Renvoie l'option "tagSets" de ReadPreference

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