MongoDB\Driver\ReadPreference::__construct
(mongodb >=1.0.0)
MongoDB\Driver\ReadPreference::__construct — Construct immutable ReadPreference
Описание
$mode
[, array $tagSets
] )Creates a new ReadPreference.
Список параметров
-
mode
-
Read preference mode Value Description MongoDB\Driver\ReadPreference::RP_PRIMARY
All operations read from the current replica set primary. This is the default read preference for MongoDB.
MongoDB\Driver\ReadPreference::RP_PRIMARY_PREFERRED
In most situations, operations read from the primary but if it is unavailable, operations read from secondary members.
MongoDB\Driver\ReadPreference::RP_SECONDARY
All operations read from the secondary members of the replica set.
MongoDB\Driver\ReadPreference::RP_SECONDARY_PREFERRED
In most situations, operations read from secondary members but if no secondary members are available, operations read from the primary.
MongoDB\Driver\ReadPreference::RP_NEAREST
Operations read from member of the replica set with the least network latency, irrespective of the member's type.
-
tagSets
-
Tag sets allow you to target read operations to specific members of a replica set. This parameter should be an array of associative arrays, each of which contain zero or more key/value pairs. When selecting a server for a read operation, the driver attempt to select a node having all tags in a set (i.e. the associative array of key/value pairs). If selection fails, the driver will attempt subsequent sets. An empty tag set (array()) will match any node and may be used as a fallback.
Tags are not compatible with the
MongoDB\Driver\ReadPreference::RP_PRIMARY
mode and, in general, only apply when selecting a secondary member of a set for a read operation. However, theMongoDB\Driver\ReadPreference::RP_NEAREST
mode, when combined with a tag set, selects the matching member with the lowest network latency. This member may be a primary or secondary.
Ошибки
- Throws MongoDB\Driver\Exception\InvalidArgumentException on argument parsing errors.
- Throws MongoDB\Driver\Exception\InvalidArgumentException if
mode
is invalid or iftagSets
is provided for a primary read preference.
Примеры
Пример #1 MongoDB\Driver\ReadPreference::__construct() example
<?php
/* Prefer a secondary node but fall back to a primary. */
$rp = new MongoDB\Driver\ReadPreference(MongoDB\Driver\ReadPreference::RP_SECONDARY_PREFERRED);
/* Prefer a node in the New York data center with lowest latency. */
$rp = new MongoDB\Driver\ReadPreference(MongoDB\Driver\ReadPreference::RP_NEAREST, [['dc' => 'ny']]);
?>
Коментарии
404 Not Found