# La classe MongoDB\Driver\ReadPreference

(mongodb >=1.0.0)

## Introduction

## Synopsis de la classe

final class MongoDB\Driver\ReadPreference implements MongoDB\BSON\Serializable, Serializable {
/* 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 bsonSerialize(): stdClass
final public __construct(string `$mode`, ?array `$tagSets` = `null`, ?array `$options` = `null`)
final public getHedge(): ?object
final public getMaxStalenessSeconds(): int
final public getMode(): int
final public getModeString(): string
final public getTagSets(): array
}

## 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.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.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