<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> <html> <head> <meta http-equiv="content-type" content="text/html; charset=UTF-8"> <title>The MongoDB\Driver\ReadPreference class</title> </head> <body><div class="manualnavbar" style="text-align: center;"> <div class="prev" style="text-align: left; float: left;"><a href="mongodb-driver-writeconcern.isdefault.html">MongoDB\Driver\WriteConcern::isDefault</a></div> <div class="next" style="text-align: right; float: right;"><a href="mongodb-driver-readpreference.bsonserialize.html">MongoDB\Driver\ReadPreference::bsonSerialize</a></div> <div class="up"><a href="book.mongodb.html">MongoDB\Driver</a></div> <div class="home"><a href="index.html">PHP Manual</a></div> </div><hr /><div id="class.mongodb-driver-readpreference" class="reference"> <h1 class="title">The MongoDB\Driver\ReadPreference class</h1> <div class="partintro"><p class="verinfo">(mongodb >=1.0.0)</p> <div class="section" id="mongodb-driver-readpreference.intro"> <h2 class="title">Introduction</h2> <p class="para"> </p> </div> <div class="section" id="mongodb-driver-readpreference.synopsis"> <h2 class="title">Class synopsis</h2> <div class="classsynopsis"> <div class="ooclass"></div> <div class="classsynopsisinfo"> <span class="modifier">final</span> <span class="ooclass"> <strong class="classname">MongoDB\Driver\ReadPreference</strong> </span> <span class="oointerface">implements <span class="interfacename"><a href="class.mongodb-bson-serializable.html" class="interfacename">MongoDB\BSON\Serializable</a></span> </span> {</div> <div class="classsynopsisinfo classsynopsisinfo_comment">/* Constants */</div> <div class="fieldsynopsis"> <span class="modifier">const</span> <span class="type">integer</span> <var class="fieldsynopsis_varname"><a href="class.mongodb-driver-readpreference.html#mongodb-driver-readpreference.constants.rp-primary"><var class="varname">RP_PRIMARY</var></a></var> <span class="initializer"> = 1</span> ;</div> <div class="fieldsynopsis"> <span class="modifier">const</span> <span class="type">integer</span> <var class="fieldsynopsis_varname"><a href="class.mongodb-driver-readpreference.html#mongodb-driver-readpreference.constants.rp-primary-preferred"><var class="varname">RP_PRIMARY_PREFERRED</var></a></var> <span class="initializer"> = 5</span> ;</div> <div class="fieldsynopsis"> <span class="modifier">const</span> <span class="type">integer</span> <var class="fieldsynopsis_varname"><a href="class.mongodb-driver-readpreference.html#mongodb-driver-readpreference.constants.rp-secondary"><var class="varname">RP_SECONDARY</var></a></var> <span class="initializer"> = 2</span> ;</div> <div class="fieldsynopsis"> <span class="modifier">const</span> <span class="type">integer</span> <var class="fieldsynopsis_varname"><a href="class.mongodb-driver-readpreference.html#mongodb-driver-readpreference.constants.rp-secondary-preferred"><var class="varname">RP_SECONDARY_PREFERRED</var></a></var> <span class="initializer"> = 6</span> ;</div> <div class="fieldsynopsis"> <span class="modifier">const</span> <span class="type">integer</span> <var class="fieldsynopsis_varname"><a href="class.mongodb-driver-readpreference.html#mongodb-driver-readpreference.constants.rp-nearest"><var class="varname">RP_NEAREST</var></a></var> <span class="initializer"> = 10</span> ;</div> <div class="fieldsynopsis"> <span class="modifier">const</span> <span class="type">integer</span> <var class="fieldsynopsis_varname"><a href="class.mongodb-driver-readpreference.html#mongodb-driver-readpreference.constants.no-max-staleness"><var class="varname">NO_MAX_STALENESS</var></a></var> <span class="initializer"> = -1</span> ;</div> <div class="fieldsynopsis"> <span class="modifier">const</span> <span class="type">integer</span> <var class="fieldsynopsis_varname"><a href="class.mongodb-driver-readpreference.html#mongodb-driver-readpreference.constants.smallest-max-staleness-seconds"><var class="varname">SMALLEST_MAX_STALENESS_SECONDS</var></a></var> <span class="initializer"> = 90</span> ;</div> <div class="classsynopsisinfo classsynopsisinfo_comment">/* Methods */</div> <div class="methodsynopsis dc-description"> <span class="modifier">final</span> <span class="modifier">public</span> <span class="type">object</span> <span class="methodname"><a href="mongodb-driver-readpreference.bsonserialize.html" class="methodname">bsonSerialize</a></span> ( <span class="methodparam">void</span> )</div> <div class="methodsynopsis dc-description"> <span class="modifier">final</span> <span class="modifier">public</span> <span class="methodname"><a href="mongodb-driver-readpreference.construct.html" class="methodname">__construct</a></span> ( <span class="methodparam"><span class="type"><span class="type string|integer">string|integer</span></span> <code class="parameter">$mode</code></span> [, <span class="methodparam"><span class="type">array</span> <code class="parameter">$tagSets</code><span class="initializer"> = <strong><code>NULL</code></strong></span></span> [, <span class="methodparam"><span class="type">array</span> <code class="parameter">$options</code><span class="initializer"> = array()</span></span> ]] )</div> <div class="methodsynopsis dc-description"> <span class="modifier">final</span> <span class="modifier">public</span> <span class="type">int</span> <span class="methodname"><a href="mongodb-driver-readpreference.getmaxstalenessseconds.html" class="methodname">getMaxStalenessSeconds</a></span> ( <span class="methodparam">void</span> )</div> <div class="methodsynopsis dc-description"> <span class="modifier">final</span> <span class="modifier">public</span> <span class="type">int</span> <span class="methodname"><a href="mongodb-driver-readpreference.getmode.html" class="methodname">getMode</a></span> ( <span class="methodparam">void</span> )</div> <div class="methodsynopsis dc-description"> <span class="modifier">final</span> <span class="modifier">public</span> <span class="type">array</span> <span class="methodname"><a href="mongodb-driver-readpreference.gettagsets.html" class="methodname">getTagSets</a></span> ( <span class="methodparam">void</span> )</div> }</div> </div> <div class="section" id="mongodb-driver-readpreference.constants"> <h2 class="title">Predefined Constants</h2> <dl> <dt id="mongodb-driver-readpreference.constants.rp-primary"><strong><code>MongoDB\Driver\ReadPreference::RP_PRIMARY</code></strong></dt> <dd> <p class="para"> All operations read from the current replica set primary. This is the default read preference for MongoDB. </p> </dd> <dt id="mongodb-driver-readpreference.constants.rp-primary-preferred"><strong><code>MongoDB\Driver\ReadPreference::RP_PRIMARY_PREFERRED</code></strong></dt> <dd> <p class="para"> In most situations, operations read from the primary but if it is unavailable, operations read from secondary members. </p> </dd> <dt id="mongodb-driver-readpreference.constants.rp-secondary"><strong><code>MongoDB\Driver\ReadPreference::RP_SECONDARY</code></strong></dt> <dd> <p class="para"> All operations read from the secondary members of the replica set. </p> </dd> <dt id="mongodb-driver-readpreference.constants.rp-secondary-preferred"><strong><code>MongoDB\Driver\ReadPreference::RP_SECONDARY_PREFERRED</code></strong></dt> <dd> <p class="para"> In most situations, operations read from secondary members but if no secondary members are available, operations read from the primary. </p> </dd> <dt id="mongodb-driver-readpreference.constants.rp-nearest"><strong><code>MongoDB\Driver\ReadPreference::RP_NEAREST</code></strong></dt> <dd> <p class="para"> Operations read from member of the replica set with the least network latency, irrespective of the member's type. </p> </dd> <dt id="mongodb-driver-readpreference.constants.no-max-staleness"><strong><code>MongoDB\Driver\ReadPreference::NO_MAX_STALENESS</code></strong></dt> <dd> <p class="para"> The default value for the <em>"maxStalenessSeconds"</em> 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. </p> </dd> <dt id="mongodb-driver-readpreference.constants.smallest-max-staleness-seconds"><strong><code>MongoDB\Driver\ReadPreference::SMALLEST_MAX_STALENESS_SECONDS</code></strong></dt> <dd> <p class="para"> The minimum value for the <em>"maxStalenessSeconds"</em> 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. </p> </dd> </dl> </div> <div class="section"> <h2 class="title">Changelog</h2> <p class="para"> <table class="doctable informaltable"> <thead> <tr> <th>Version</th> <th>Description</th> </tr> </thead> <tbody class="tbody"> <tr> <td>1.2.0</td> <td> <p class="para"> Added the <strong><code>MongoDB\Driver\ReadPreference::NO_MAX_STALENESS</code></strong> and <strong><code>MongoDB\Driver\ReadPreference::SMALLEST_MAX_STALENESS_SECONDS</code></strong> constants. </p> <p class="para"> Implements <span class="interfacename"><a href="class.mongodb-bson-serializable.html" class="interfacename">MongoDB\BSON\Serializable</a></span>. </p> </td> </tr> </tbody> </table> </p> </div> </div> <h2>Table of Contents</h2><ul class="chunklist chunklist_reference"><li><a href="mongodb-driver-readpreference.bsonserialize.html">MongoDB\Driver\ReadPreference::bsonSerialize</a> — Returns an object for BSON serialization</li><li><a href="mongodb-driver-readpreference.construct.html">MongoDB\Driver\ReadPreference::__construct</a> — Create a new ReadPreference</li><li><a href="mongodb-driver-readpreference.getmaxstalenessseconds.html">MongoDB\Driver\ReadPreference::getMaxStalenessSeconds</a> — Returns the ReadPreference's "maxStalenessSeconds" option</li><li><a href="mongodb-driver-readpreference.getmode.html">MongoDB\Driver\ReadPreference::getMode</a> — Returns the ReadPreference's "mode" option</li><li><a href="mongodb-driver-readpreference.gettagsets.html">MongoDB\Driver\ReadPreference::getTagSets</a> — Returns the ReadPreference's "tagSets" option</li></ul> </div> <hr /><div class="manualnavbar" style="text-align: center;"> <div class="prev" style="text-align: left; float: left;"><a href="mongodb-driver-writeconcern.isdefault.html">MongoDB\Driver\WriteConcern::isDefault</a></div> <div class="next" style="text-align: right; float: right;"><a href="mongodb-driver-readpreference.bsonserialize.html">MongoDB\Driver\ReadPreference::bsonSerialize</a></div> <div class="up"><a href="book.mongodb.html">MongoDB\Driver</a></div> <div class="home"><a href="index.html">PHP Manual</a></div> </div></body></html>