<?php
include_once $_SERVER['DOCUMENT_ROOT'] . '/include/shared-manual.inc';
$TOC = array();
$TOC_DEPRECATED = array();
$PARENTS = array();
include_once dirname(__FILE__) ."/toc/mongodb.mongodb.inc";
$setup = array (
  'home' => 
  array (
    0 => 'index.php',
    1 => 'PHP Manual',
  ),
  'head' => 
  array (
    0 => 'UTF-8',
    1 => 'ru',
  ),
  'this' => 
  array (
    0 => 'class.mongodb-driver-readpreference.php',
    1 => 'MongoDB\\Driver\\ReadPreference',
    2 => 'Класс MongoDB\\Driver\\ReadPreference',
  ),
  'up' => 
  array (
    0 => 'mongodb.mongodb.php',
    1 => 'MongoDB\\Driver',
  ),
  'prev' => 
  array (
    0 => 'mongodb-driver-writeconcern.isdefault.php',
    1 => 'MongoDB\\Driver\\WriteConcern::isDefault',
  ),
  'next' => 
  array (
    0 => 'mongodb-driver-readpreference.bsonserialize.php',
    1 => 'MongoDB\\Driver\\ReadPreference::bsonSerialize',
  ),
  'alternatives' => 
  array (
  ),
  'source' => 
  array (
    'lang' => 'ru',
    'path' => 'reference/mongodb/mongodb/driver/readpreference.xml',
  ),
  'history' => 
  array (
  ),
  'extra_header_links' => 
  array (
    'rel' => 'alternate',
    'href' => '/manual/en/feeds/class.mongodb-driver-readpreference.atom',
    'type' => 'application/atom+xml',
  ),
);
$setup["toc"] = $TOC;
$setup["toc_deprecated"] = $TOC_DEPRECATED;
$setup["parents"] = $PARENTS;
manual_setup($setup);

contributors($setup);

?>
<div id="class.mongodb-driver-readpreference" class="reference">

 <h1 class="title">Класс MongoDB\Driver\ReadPreference</h1>
 

 <div class="partintro"><p class="verinfo">(mongodb &gt;=1.0.0)</p>

  
  <div class="section" id="mongodb-driver-readpreference.intro">
   <h2 class="title">Введение</h2>
   <p class="para">

   </p>
  </div>
  

  <div class="section" id="mongodb-driver-readpreference.synopsis">
   <h2 class="title">Обзор класса</h2>

   
   <div class="classsynopsis">
    <span class="ooclass"><strong class="classname"></strong></span>

    
    <div class="classsynopsisinfo">
     <span class="modifier">final</span>
     <span class="ooclass">
      <span class="modifier">class</span> <strong class="classname">MongoDB\Driver\ReadPreference</strong>
     </span>

     <span class="oointerface"><span class="modifier">implements</span> 
       <a href="class.mongodb-bson-serializable.php" class="interfacename">MongoDB\BSON\Serializable</a></span><span class="oointerface">,  <a href="class.serializable.php" class="interfacename">Serializable</a></span> {</div>
    
    <div class="classsynopsisinfo classsynopsisinfo_comment">/* Свойства */</div>
    <div class="fieldsynopsis">
     <span class="modifier">public</span>
     <span class="modifier">readonly</span>
     <span class="type"><a href="language.types.string.php" class="type string">string</a></span>
      <var class="varname"><a href="class.mongodb-driver-readpreference.php#mongodb-driver-readpreference.props.mode">$<var class="varname">mode</var></a></var>;</div>

    <div class="fieldsynopsis"><span class="modifier">public</span>
     <span class="modifier">readonly</span>
     <span class="type">?</span><span class="type"><span class="type"><a href="language.types.array.php" class="type array">array</a></span><span class="type"></span></span>
      <var class="varname"><a href="class.mongodb-driver-readpreference.php#mongodb-driver-readpreference.props.tags">$<var class="varname">tags</var></a></var>;</div>

    <div class="fieldsynopsis"><span class="modifier">public</span>
     <span class="modifier">readonly</span>
     <span class="type"><a href="language.types.integer.php" class="type int">int</a></span>
      <var class="varname"><a href="class.mongodb-driver-readpreference.php#mongodb-driver-readpreference.props.maxstaleness">$<var class="varname">maxStalenessSeconds</var></a></var>;</div>

    <div class="fieldsynopsis"><span class="modifier">public</span>
     <span class="modifier">readonly</span>
     <span class="type">?</span><span class="type"><span class="type"><a href="language.types.object.php" class="type object">object</a></span><span class="type"></span></span>
      <var class="varname"><a href="class.mongodb-driver-readpreference.php#mongodb-driver-readpreference.props.hedge">$<var class="varname">hedge</var></a></var>;</div>


    <div class="classsynopsisinfo classsynopsisinfo_comment">/* Константы */</div>
    <div class="fieldsynopsis"><span class="modifier">const</span>
     <span class="type"><a href="language.types.string.php" class="type string">string</a></span>
      <var class="fieldsynopsis_varname"><a href="class.mongodb-driver-readpreference.php#mongodb-driver-readpreference.constants.primary"><var class="varname">PRIMARY</var></a></var><span class="initializer"> = primary</span>;</div>

    <div class="fieldsynopsis"><span class="modifier">const</span>
     <span class="type"><a href="language.types.string.php" class="type string">string</a></span>
      <var class="fieldsynopsis_varname"><a href="class.mongodb-driver-readpreference.php#mongodb-driver-readpreference.constants.primary-preferred"><var class="varname">PRIMARY_PREFERRED</var></a></var><span class="initializer"> = primaryPreferred</span>;</div>

    <div class="fieldsynopsis"><span class="modifier">const</span>
     <span class="type"><a href="language.types.string.php" class="type string">string</a></span>
      <var class="fieldsynopsis_varname"><a href="class.mongodb-driver-readpreference.php#mongodb-driver-readpreference.constants.secondary"><var class="varname">SECONDARY</var></a></var><span class="initializer"> = secondary</span>;</div>

    <div class="fieldsynopsis"><span class="modifier">const</span>
     <span class="type"><a href="language.types.string.php" class="type string">string</a></span>
      <var class="fieldsynopsis_varname"><a href="class.mongodb-driver-readpreference.php#mongodb-driver-readpreference.constants.secondary-preferred"><var class="varname">SECONDARY_PREFERRED</var></a></var><span class="initializer"> = secondaryPreferred</span>;</div>

    <div class="fieldsynopsis"><span class="modifier">const</span>
     <span class="type"><a href="language.types.string.php" class="type string">string</a></span>
      <var class="fieldsynopsis_varname"><a href="class.mongodb-driver-readpreference.php#mongodb-driver-readpreference.constants.nearest"><var class="varname">NEAREST</var></a></var><span class="initializer"> = nearest</span>;</div>

    <div class="fieldsynopsis"><span class="modifier">const</span>
     <span class="type"><a href="language.types.integer.php" class="type int">int</a></span>
      <var class="fieldsynopsis_varname"><a href="class.mongodb-driver-readpreference.php#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"><a href="language.types.integer.php" class="type int">int</a></span>
      <var class="fieldsynopsis_varname"><a href="class.mongodb-driver-readpreference.php#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">/* Методы */</div>
    <div class="methodsynopsis dc-description">
   <span class="modifier">final</span> <span class="modifier">public</span> <span class="modifier">function</span> <span class="methodname"><a href="mongodb-driver-readpreference.bsonserialize.php" class="methodname">bsonSerialize</a></span>(): <span class="type"><a href="class.stdclass.php" class="type stdClass">stdClass</a></span></div>
<div class="methodsynopsis dc-description"><span class="modifier">final</span> <span class="modifier">public</span> <span class="modifier">function</span> <span class="methodname"><a href="mongodb-driver-readpreference.construct.php" class="methodname">__construct</a></span>(<span class="methodparam"><span class="type"><a href="language.types.string.php" class="type string">string</a></span> <code class="parameter">$mode</code></span>, <span class="methodparam"><span class="type"><span class="type"><a href="language.types.null.php" class="type null">?</a></span><span class="type"><a href="language.types.array.php" class="type array">array</a></span></span> <code class="parameter">$tagSets</code><span class="initializer"> = <strong><code><a href="reserved.constants.php#constant.null">null</a></code></strong></span></span>, <span class="methodparam"><span class="type"><span class="type"><a href="language.types.null.php" class="type null">?</a></span><span class="type"><a href="language.types.array.php" class="type array">array</a></span></span> <code class="parameter">$options</code><span class="initializer"> = <strong><code><a href="reserved.constants.php#constant.null">null</a></code></strong></span></span>)</div>
<div class="methodsynopsis dc-description"><span class="modifier">final</span> <span class="modifier">public</span> <span class="modifier">function</span> <span class="methodname"><a href="mongodb-driver-readpreference.gethedge.php" class="methodname">getHedge</a></span>(): <span class="type"><span class="type"><a href="language.types.null.php" class="type null">?</a></span><span class="type"><a href="language.types.object.php" class="type object">object</a></span></span></div>
<div class="methodsynopsis dc-description"><span class="modifier">final</span> <span class="modifier">public</span> <span class="modifier">function</span> <span class="methodname"><a href="mongodb-driver-readpreference.getmaxstalenessseconds.php" class="methodname">getMaxStalenessSeconds</a></span>(): <span class="type"><a href="language.types.integer.php" class="type int">int</a></span></div>
<div class="methodsynopsis dc-description"><span class="modifier">final</span> <span class="modifier">public</span> <span class="modifier">function</span> <span class="methodname"><a href="mongodb-driver-readpreference.getmode.php" class="methodname">getMode</a></span>(): <span class="type"><a href="language.types.integer.php" class="type int">int</a></span></div>
<div class="methodsynopsis dc-description"><span class="modifier">final</span> <span class="modifier">public</span> <span class="modifier">function</span> <span class="methodname"><a href="mongodb-driver-readpreference.getmodestring.php" class="methodname">getModeString</a></span>(): <span class="type"><a href="language.types.string.php" class="type string">string</a></span></div>
<div class="methodsynopsis dc-description"><span class="modifier">final</span> <span class="modifier">public</span> <span class="modifier">function</span> <span class="methodname"><a href="mongodb-driver-readpreference.gettagsets.php" class="methodname">getTagSets</a></span>(): <span class="type"><a href="language.types.array.php" class="type array">array</a></span></div>

   }</div>
   

  </div>


  <div class="section" id="mongodb-driver-readpreference.props">
   <h2 class="title">Свойства</h2>
   <dl>
    
     <dt id="mongodb-driver-readpreference.props.mode"><var class="varname">mode</var></dt>
     <dd>
      <span class="simpara">
       Режим read preference в виде строки (например,
       <code class="literal">&quot;primary&quot;</code>, <code class="literal">&quot;secondary&quot;</code>).
      </span>
     </dd>
    
    
     <dt id="mongodb-driver-readpreference.props.tags"><var class="varname">tags</var></dt>
     <dd>
      <span class="simpara">
       Список наборов тегов, который использует read preference, или <strong><code><a href="reserved.constants.php#constant.null">null</a></code></strong>,
       если наборы тегов не указаны.
      </span>
     </dd>
    
    
     <dt id="mongodb-driver-readpreference.props.maxstaleness"><var class="varname">maxStalenessSeconds</var></dt>
     <dd>
      <span class="simpara">
       Максимальное отставание (staleness) в секундах для операций чтения или
       <strong><code><a href="class.mongodb-driver-readpreference.php#mongodb-driver-readpreference.constants.no-max-staleness">MongoDB\Driver\ReadPreference::NO_MAX_STALENESS</a></code></strong>,
       если максимальное отставание не указано.
      </span>
     </dd>
    
    
     <dt id="mongodb-driver-readpreference.props.hedge"><var class="varname">hedge</var></dt>
     <dd>
      <span class="simpara">
       Документ, который задаёт параметры hedge для read preference, или
       <strong><code><a href="reserved.constants.php#constant.null">null</a></code></strong>, если параметры hedge не указаны.
      </span>
      <div class="warning"><strong class="warning">Внимание</strong>
       <p class="simpara">
        Свойство устарело, поскольку hedged reads устарели в MongoDB 8.0.
       </p>
      </div>
     </dd>
    
   </dl>
  </div>


  
  <div class="section" id="mongodb-driver-readpreference.constants">
   <h2 class="title">Предопределённые константы</h2>
   <dl>
    
     <dt id="mongodb-driver-readpreference.constants.primary"><strong><code><a href="class.mongodb-driver-readpreference.php#mongodb-driver-readpreference.constants.primary">MongoDB\Driver\ReadPreference::PRIMARY</a></code></strong></dt>
     <dd>
      <p class="para">
       Каждую операцию чтения из текущей реплики установили первичными.
       Это предпочтение чтения по умолчанию для СУБД MongoDB.
      </p>
     </dd>
    

    
     <dt id="mongodb-driver-readpreference.constants.primary-preferred"><strong><code><a href="class.mongodb-driver-readpreference.php#mongodb-driver-readpreference.constants.primary-preferred">MongoDB\Driver\ReadPreference::PRIMARY_PREFERRED</a></code></strong></dt>
     <dd>
      <p class="para">
       В большей части случаев операции считываются из первичного узла,
       но если узел недоступен, операции считываются со вторичных узлов.
      </p>
     </dd>
    

    
     <dt id="mongodb-driver-readpreference.constants.secondary"><strong><code><a href="class.mongodb-driver-readpreference.php#mongodb-driver-readpreference.constants.secondary">MongoDB\Driver\ReadPreference::SECONDARY</a></code></strong></dt>
     <dd>
      <p class="para">
       Каждая операция считывается из вторичных узлов набора реплик.
      </p>
     </dd>
    

    
     <dt id="mongodb-driver-readpreference.constants.secondary-preferred"><strong><code><a href="class.mongodb-driver-readpreference.php#mongodb-driver-readpreference.constants.secondary-preferred">MongoDB\Driver\ReadPreference::SECONDARY_PREFERRED</a></code></strong></dt>
     <dd>
      <p class="para">
       В большей части случаев операции считываются из вторичных узлов, но если узлы недоступны,
       операции считываются с первичного.
      </p>
     </dd>
    

    
     <dt id="mongodb-driver-readpreference.constants.nearest"><strong><code><a href="class.mongodb-driver-readpreference.php#mongodb-driver-readpreference.constants.nearest">MongoDB\Driver\ReadPreference::NEAREST</a></code></strong></dt>
     <dd>
      <p class="para">
       Операции считываются из узла набора реплик с наименьшей задержкой в сети,
       независимо от типа.
      </p>
     </dd>
    

    
     <dt id="mongodb-driver-readpreference.constants.no-max-staleness"><strong><code><a href="class.mongodb-driver-readpreference.php#mongodb-driver-readpreference.constants.no-max-staleness">MongoDB\Driver\ReadPreference::NO_MAX_STALENESS</a></code></strong></dt>
     <dd>
      <p class="para">
       Значение по умолчанию для параметра <code class="literal">&quot;maxStalenessSeconds&quot;</code>
       чтобы указать на ограничение на максимальное запаздывание (staleness), что означает, что
       драйвер не будет учитывать задержку вторичных узлов при выборе направления
       для операции чтения.
      </p>
     </dd>
    

    
     <dt id="mongodb-driver-readpreference.constants.smallest-max-staleness-seconds"><strong><code><a href="class.mongodb-driver-readpreference.php#mongodb-driver-readpreference.constants.smallest-max-staleness-seconds">MongoDB\Driver\ReadPreference::SMALLEST_MAX_STALENESS_SECONDS</a></code></strong></dt>
     <dd>
      <p class="para">
       Минимальное значение для параметра  <code class="literal">&quot;maxStalenessSeconds&quot;</code> равно 90 секундам.
       Драйвер оценивает запаздывание (staleness) вторичных узлов, периодически проверяя последнюю дату записи
       каждого члена набора реплик. Поскольку эти проверки нечастые,
       оценка запаздывания грубая. Поэтому драйвер не обеспечивает максимальную величину
       запаздывания меньше 90 секунд.
      </p>
     </dd>
    

   </dl>
  </div>
  

  <div class="section">
   <h2 class="title">Список изменений</h2>
   <p class="para">
    <table class="doctable informaltable">
     
      <thead>
       <tr>
        <th>Версия</th>
        <th>Описание</th>
       </tr>

      </thead>

      <tbody class="tbody">
       <tr>
        <td>PECL-модуль mongodb 2.3.0</td>
        <td>
         <p class="para">
          Добавлены свойства <span class="modifier">public</span> <span class="modifier">readonly</span>.
         </p>
        </td>
       </tr>

       <tr>
        <td>PECL-модуль mongodb 2.0.0</td>
        <td>
         <p class="para">
          Удалили константы
          <strong><code>MongoDB\Driver\ReadPreference::RP_PRIMARY</code></strong>,
          <strong><code>MongoDB\Driver\ReadPreference::RP_PRIMARY_PREFERRED</code></strong>,
          <strong><code>MongoDB\Driver\ReadPreference::RP_SECONDARY</code></strong>,
          <strong><code>MongoDB\Driver\ReadPreference::RP_SECONDARY_PREFERRED</code></strong>
          и <strong><code>MongoDB\Driver\ReadPreference::RP_NEAREST</code></strong>.
          Метод <span class="methodname"><strong>getMode()</strong></span> тоже удалили.
         </p>
        </td>
       </tr>

       <tr>
        <td>PECL-модуль mongodb 1.20.0</td>
        <td>
         <p class="para">
          Константы
          <strong><code>MongoDB\Driver\ReadPreference::RP_PRIMARY</code></strong>,
          <strong><code>MongoDB\Driver\ReadPreference::RP_PRIMARY_PREFERRED</code></strong>,
          <strong><code>MongoDB\Driver\ReadPreference::RP_SECONDARY</code></strong>,
          <strong><code>MongoDB\Driver\ReadPreference::RP_SECONDARY_PREFERRED</code></strong>
          и <strong><code>MongoDB\Driver\ReadPreference::RP_NEAREST</code></strong>
          устарели.
         </p>
        </td>
       </tr>

       <tr>
        <td>PECL-модуль mongodb 1.7.0</td>
        <td>
         <p class="para">
          Добавили константы
          <strong><code><a href="class.mongodb-driver-readpreference.php#mongodb-driver-readpreference.constants.primary">MongoDB\Driver\ReadPreference::PRIMARY</a></code></strong>,
          <strong><code><a href="class.mongodb-driver-readpreference.php#mongodb-driver-readpreference.constants.primary-preferred">MongoDB\Driver\ReadPreference::PRIMARY_PREFERRED</a></code></strong>,
          <strong><code><a href="class.mongodb-driver-readpreference.php#mongodb-driver-readpreference.constants.secondary">MongoDB\Driver\ReadPreference::SECONDARY</a></code></strong>,
          <strong><code><a href="class.mongodb-driver-readpreference.php#mongodb-driver-readpreference.constants.secondary-preferred">MongoDB\Driver\ReadPreference::SECONDARY_PREFERRED</a></code></strong>
          и <strong><code><a href="class.mongodb-driver-readpreference.php#mongodb-driver-readpreference.constants.nearest">MongoDB\Driver\ReadPreference::NEAREST</a></code></strong>.
         </p>
         <p class="para">
          Класс теперь реализует интерфейс <span class="interfacename"><a href="class.serializable.php" class="interfacename">Serializable</a></span>.
         </p>
        </td>
       </tr>

       <tr>
        <td>PECL-модуль mongodb 1.2.0</td>
        <td>
         <p class="para">
          Добавили константы
          <strong><code><a href="class.mongodb-driver-readpreference.php#mongodb-driver-readpreference.constants.no-max-staleness">MongoDB\Driver\ReadPreference::NO_MAX_STALENESS</a></code></strong>
          и <strong><code><a href="class.mongodb-driver-readpreference.php#mongodb-driver-readpreference.constants.smallest-max-staleness-seconds">MongoDB\Driver\ReadPreference::SMALLEST_MAX_STALENESS_SECONDS</a></code></strong>.
         </p>
         <p class="para">
          Класс теперь реализует интерфейс <span class="interfacename"><a href="class.mongodb-bson-serializable.php" class="interfacename">MongoDB\BSON\Serializable</a></span>.
         </p>
        </td>
       </tr>

      </tbody>
     
    </table>

   </p>
  </div>

 </div>

 












































<h2>Содержание</h2><ul class="chunklist chunklist_reference"><li><a href="mongodb-driver-readpreference.bsonserialize.php">MongoDB\Driver\ReadPreference::bsonSerialize</a> — Возвращает объект для BSON-сериализации</li><li><a href="mongodb-driver-readpreference.construct.php">MongoDB\Driver\ReadPreference::__construct</a> — Создаёт новый объект предпочтения чтения ReadPreference</li><li><a href="mongodb-driver-readpreference.gethedge.php">MongoDB\Driver\ReadPreference::getHedge</a> — Возвращает опцию &quot;hedge&quot; объекта ReadPreference</li><li><a href="mongodb-driver-readpreference.getmaxstalenessseconds.php">MongoDB\Driver\ReadPreference::getMaxStalenessSeconds</a> — Возвращает опцию &quot;maxStalenessSeconds&quot; объекта ReadPreference</li><li><a href="mongodb-driver-readpreference.getmode.php">MongoDB\Driver\ReadPreference::getMode</a> — Возвращает опцию &quot;mode&quot; объекта ReadPreference</li><li><a href="mongodb-driver-readpreference.getmodestring.php">MongoDB\Driver\ReadPreference::getModeString</a> — Возвращает опцию &quot;mode&quot; объекта ReadPreference в виде строки</li><li><a href="mongodb-driver-readpreference.gettagsets.php">MongoDB\Driver\ReadPreference::getTagSets</a> — Возвращает опцию &quot;tagSets&quot; объекта ReadPreference</li></ul>
</div>
<?php manual_footer($setup); ?>