Rechercher une fonction PHP

MongoDB\Driver\ReadPreference: : _ _construct

(mongodb >=1.0.0)

MongoDB\Driver\ReadPreference::__constructCréer un nouveau ReadPreference

Description

final public MongoDB\Driver\ReadPreference::__construct ( string|integer $mode [, array $tagSets = NULL [, array $options = array() ]] )

Construit un nouveau MongoDB\Driver\ReadPreference, qui est un objet de valeur immuable.

Retour à la première page de Manuel PHP  Table des matières Haut

Liste de paramètres

mode

Mode de préférence de lecture
Valeur Description
MongoDB\Driver\ReadPreference::RP_PRIMARY ou "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::RP_PRIMARY_PREFERRED ou "primaryPreferred"

Dans la plupart des situations, les opérations sont lues à partir du primaire, mais si il n'est pas disponible, les opérations sont lues à partir d'un membre secondaire.

MongoDB\Driver\ReadPreference::RP_SECONDARY ou "secondary"

Toutes les opérations sont lues à partir des membres secondaires du jeu de réplicas.

MongoDB\Driver\ReadPreference::RP_SECONDARY_PREFERRED ou "secondaryPreferred"

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::RP_NEAREST ou "nearest"

Opérations lues à partir du membre du jeu de réplicas ayant la latence réseau la moins élevée, quel que soit le type du membre.

tagSets

Les jeux de tag vous permettent de cibler des opérations de lecture sur des membres spécifiques d'un jeu de réplicas. Ce paramètre doit être un tableau de tableaux associatifs, qui contiennent chacun zéro ou plusieurs paires clé/valeur. Lors de la sélection d'un serveur pour une opération de lecture, le pilote tente de sélectionner un nœud comportant toutes les balises d'un ensemble (c'est-à-dire le tableau associatif de paires clé/valeur). Si la sélection échoue, le pilote essaiera les jeux suivants. Un jeu de balises vide (array()) correspond à n'importe quel nœud et peut être utilisé comme secours.

Les tags ne sont pas compatibles avec le mode MongoDB\Driver\ReadPreference::RP_PRIMARY et, en général, s'appliquent uniquement lors de la sélection d'un membre secondaire d'un jeu pour une opération de lecture. Toutefois, le mode MongoDB\Driver\ReadPreference::RP_NEAREST, lorsqu'il est combiné avec un jeu de balises, sélectionne le membre correspondant avec la latence réseau la plus basse. Ce membre peut être primaire ou secondaire.

options

options
Option Type Description
maxStalenessSeconds entier

Spécifie un décalage de réplication maximal, ou "obsolescence", pour les lectures des secondaires. Lorsque l'obsolescence estimée d'un secondaire dépasse cette valeur, le pilote cesse de l'utiliser pour les opérations de lecture.

Si elle est spécifiée, l'obsolescence maximale doit être un entier signé 32 bits supérieur ou égal à MongoDB\Driver\ReadPreference::SMALLEST_MAX_STALENESS_SECONDS.

Par défaut, MongoDB\Driver\ReadPreference::NO_MAX_STALENESS, 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.

Cette option n'est pas compatible avec le mode MongoDB\Driver\ReadPreference::RP_PRIMARY. La spécification d'une obsolescence maximale requiert également que toutes les instances MongoDB du déploiement utilisent MongoDB 3.4+. Une exception sera levée au moment de l'exécution si toutes les instances de MongoDB dans le déploiement sont d'une version de serveur plus ancienne.

Retour à la première page de Manuel PHP  Table des matières Haut

Erreurs / Exceptions

Retour à la première page de Manuel PHP  Table des matières Haut

Historique

Version Description
1.3.0

L'argument mode accepte maintenant une valeur de chaîne, ce qui est compatible avec l'option URI "readPreference" pour MongoDB\Driver\Manager::__construct()

1.2.0

Ajout d'un troisième argument d'options, qui prend en charge l'option "maxStalenessSeconds" .

Retour à la première page de Manuel PHP  Table des matières Haut

Exemples

Exemple #1 Exemple avec MongoDB\Driver\ReadPreference::__construct()

<?php

/* Préférez un noeud secondaire mais retombez sur un primaire. */
var_dump(new MongoDB\Driver\ReadPreference(MongoDB\Driver\ReadPreference::RP_SECONDARY_PREFERRED));

/* Préférez un noeud dans le centre de données de New York avec la latence la plus basse. */
var_dump(new MongoDB\Driver\ReadPreference(MongoDB\Driver\ReadPreference::RP_NEAREST, [['dc' => 'ny']]));

/* Nécessite un nœud secondaire dont le décalage de réplication se trouve dans les deux minutes */
var_dump(new MongoDB\Driver\ReadPreference(MongoDB\Driver\ReadPreference::RP_SECONDARYnull, ['maxStalenessSeconds' => 120]));

?>

L'exemple ci-dessus va afficher quelque chose de similaire à :

object(MongoDB\Driver\ReadPreference)#1 (1) {
  ["mode"]=>
  string(18) "secondaryPreferred"
}
object(MongoDB\Driver\ReadPreference)#1 (2) {
  ["mode"]=>
  string(7) "nearest"
  ["tags"]=>
  array(1) {
    [0]=>
    object(stdClass)#2 (1) {
      ["dc"]=>
      string(2) "ny"
    }
  }
}
object(MongoDB\Driver\ReadPreference)#1 (2) {
  ["mode"]=>
  string(9) "secondary"
  ["maxStalenessSeconds"]=>
  int(120)
}
Rechercher une fonction PHP

Document créé le 30/01/2003, dernière modification le 26/10/2018
Source du document imprimé : https://www.gaudry.be/php-rf-mongodb-driver-readpreference.construct.html

L'infobrol est un site personnel dont le contenu n'engage que moi. Le texte est mis à disposition sous licence CreativeCommons(BY-NC-SA). Plus d'info sur les conditions d'utilisation et sur l'auteur.

Références

  1. Consulter le document html Langue du document :fr Manuel PHP : http://php.net

Ces références et liens indiquent des documents consultés lors de la rédaction de cette page, ou qui peuvent apporter un complément d'information, mais les auteurs de ces sources ne peuvent être tenus responsables du contenu de cette page.
L'auteur de ce site est seul responsable de la manière dont sont présentés ici les différents concepts, et des libertés qui sont prises avec les ouvrages de référence. N'oubliez pas que vous devez croiser les informations de sources multiples afin de diminuer les risques d'erreurs.

Table des matières Haut