The MongoDB\Driver\ReadPreference class

Introduction

Class synopsis

MongoDB\Driver\ReadPreference
final class MongoDB\Driver\ReadPreference implements MongoDB\BSON\Serializable, Serializable {
/* Constants */
const int MongoDB\Driver\ReadPreference::RP_PRIMARY = 1;
const int MongoDB\Driver\ReadPreference::RP_PRIMARY_PREFERRED = 5;
const int MongoDB\Driver\ReadPreference::RP_SECONDARY = 2;
const int MongoDB\Driver\ReadPreference::RP_SECONDARY_PREFERRED = 6;
const int MongoDB\Driver\ReadPreference::RP_NEAREST = 10;
const string MongoDB\Driver\ReadPreference::PRIMARY = primary;
const string MongoDB\Driver\ReadPreference::PRIMARY_PREFERRED = primaryPreferred;
const string MongoDB\Driver\ReadPreference::SECONDARY = secondary;
const string MongoDB\Driver\ReadPreference::SECONDARY_PREFERRED = secondaryPreferred;
const string MongoDB\Driver\ReadPreference::NEAREST = nearest;
const int MongoDB\Driver\ReadPreference::NO_MAX_STALENESS = -1;
const int MongoDB\Driver\ReadPreference::SMALLEST_MAX_STALENESS_SECONDS = 90;
/* Methods */
final public stdClass bsonSerialize()
final public __construct(stringint $mode, arraynull $tagSets = null, arraynull $options = null)
final public objectnull getHedge()
final public int getMaxStalenessSeconds()
final public int getMode()
final public string getModeString()
final public array getTagSets()
final public string serialize()
final public void unserialize(string $data)
}

Predefined Constants

MongoDB\Driver\ReadPreference::RP_PRIMARY

All operations read from the current replica set primary. This is the default read preference for MongoDB.

Warning

This constant has been DEPRECATED as of extension version 1.20.0 and will be removed in 2.0. Applications should use MongoDB\Driver\ReadPreference::PRIMARY instead.

MongoDB\Driver\ReadPreference::RP_PRIMARY_PREFERRED

In most situations, operations read from the primary but if it is unavailable, operations read from secondary members.

Warning

This constant has been DEPRECATED as of extension version 1.20.0 and will be removed in 2.0. Applications should use MongoDB\Driver\ReadPreference::PRIMARY_PREFERRED instead.

MongoDB\Driver\ReadPreference::RP_SECONDARY

All operations read from the secondary members of the replica set.

Warning

This constant has been DEPRECATED as of extension version 1.20.0 and will be removed in 2.0. Applications should use MongoDB\Driver\ReadPreference::SECONDARY instead.

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.

Warning

This constant has been DEPRECATED as of extension version 1.20.0 and will be removed in 2.0. Applications should use MongoDB\Driver\ReadPreference::SECONDARY_PREFERRED instead.

MongoDB\Driver\ReadPreference::RP_NEAREST

Operations read from member of the replica set with the least network latency, irrespective of the member's type.

Warning

This constant has been DEPRECATED as of extension version 1.20.0 and will be removed in 2.0. Applications should use MongoDB\Driver\ReadPreference::NEAREST instead.

MongoDB\Driver\ReadPreference::PRIMARY

All operations read from the current replica set primary. This is the default read preference for MongoDB.

MongoDB\Driver\ReadPreference::PRIMARY_PREFERRED

In most situations, operations read from the primary but if it is unavailable, operations read from secondary members.

MongoDB\Driver\ReadPreference::SECONDARY

All operations read from the secondary members of the replica set.

MongoDB\Driver\ReadPreference::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::NEAREST

Operations read from member of the replica set with the least network latency, irrespective of the member's type.

MongoDB\Driver\ReadPreference::NO_MAX_STALENESS

The default value for the "maxStalenessSeconds" option is to specify no limit on maximum staleness, which means that the driver will not consider a secondary's lag when choosing where to direct a read operation.

MongoDB\Driver\ReadPreference::SMALLEST_MAX_STALENESS_SECONDS

The minimum value for the "maxStalenessSeconds" option is 90 seconds. The driver estimates secondaries' staleness by periodically checking the latest write date of each replica set member. Since these checks are infrequent, the staleness estimate is coarse. Thus, the driver cannot enforce a max staleness value of less than 90 seconds.

Changelog

Version Description
PECL mongodb 1.20.0

Deprecated the MongoDB\Driver\ReadPreference::RP_PRIMARY, MongoDB\Driver\ReadPreference::RP_PRIMARY_PREFERRED, MongoDB\Driver\ReadPreference::RP_SECONDARY, MongoDB\Driver\ReadPreference::RP_SECONDARY_PREFERRED, and MongoDB\Driver\ReadPreference::RP_NEAREST constants.

PECL mongodb 1.7.0

Added the MongoDB\Driver\ReadPreference::PRIMARY, MongoDB\Driver\ReadPreference::PRIMARY_PREFERRED, MongoDB\Driver\ReadPreference::SECONDARY, MongoDB\Driver\ReadPreference::SECONDARY_PREFERRED, and MongoDB\Driver\ReadPreference::NEAREST constants.

Implements Serializable.

PECL mongodb 1.2.0

Added the MongoDB\Driver\ReadPreference::NO_MAX_STALENESS and MongoDB\Driver\ReadPreference::SMALLEST_MAX_STALENESS_SECONDS constants.

Implements MongoDB\BSON\Serializable.

Table of Contents