Zend_Cache-Backends.xml 29 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515
  1. <?xml version="1.0" encoding="UTF-8"?>
  2. <!-- Reviewed: no -->
  3. <sect1 id="zend.cache.backends">
  4. <title>Бэкэнды Zend_Cache</title>
  5. <para>
  6. Есть два типа бэкэндов: стандартные и расширенные. Расширенные
  7. предоставляют больше функциональных возможностей.
  8. </para>
  9. <sect2 id="zend.cache.backends.file">
  10. <title>Zend_Cache_Backend_File</title>
  11. <para>
  12. Этот расширенный бэкэнд хранит записи кэша в файлах (в выбранной
  13. директории).
  14. </para>
  15. <para>
  16. Доступные опции:
  17. </para>
  18. <table id="zend.cache.backends.file.table">
  19. <title>Опции Zend_Cache_Backend_File</title>
  20. <tgroup cols="4">
  21. <thead>
  22. <row>
  23. <entry>Опция</entry>
  24. <entry>Тип данных</entry>
  25. <entry>Значение по умолчанию</entry>
  26. <entry>Описание</entry>
  27. </row>
  28. </thead>
  29. <tbody>
  30. <row>
  31. <entry><emphasis>cache_dir</emphasis></entry>
  32. <entry><type>String</type></entry>
  33. <entry>'<filename>/tmp/</filename>'</entry>
  34. <entry>
  35. Директория, в которой хранятся файлы кэша
  36. </entry>
  37. </row>
  38. <row>
  39. <entry><emphasis>file_locking</emphasis></entry>
  40. <entry><type>Boolean</type></entry>
  41. <entry><constant>TRUE</constant></entry>
  42. <entry>
  43. Включает/отключает блокировку файлов. Позволяет
  44. избежать искажения данных кэша в плохих условиях, но
  45. это не поможет при многопоточном веб-сервере или
  46. файловой системе <acronym>NFS</acronym>...
  47. </entry>
  48. </row>
  49. <row>
  50. <entry><emphasis>read_control</emphasis></entry>
  51. <entry><type>Boolean</type></entry>
  52. <entry><constant>TRUE</constant></entry>
  53. <entry>
  54. Включает/отключает контроль чтения. Если включен,
  55. то в файл кэша добавляется контрольный ключ и этот
  56. ключ сравнивается с другим, вычисляемым после
  57. чтения.
  58. </entry>
  59. </row>
  60. <row>
  61. <entry><emphasis>read_control_type</emphasis></entry>
  62. <entry><type>String</type></entry>
  63. <entry>'crc32'</entry>
  64. <entry>
  65. Тип контроля чтения (только если включен
  66. readControl). Возможные значения: 'md5' (лучший, но
  67. самый медленный),
  68. 'crc32' (немного менее безопасный,
  69. но более быстрый, лучший выбор),
  70. 'adler32' (новая альтернатива, быстрее, чем crc32),
  71. 'strlen' для контроля только по длине (самый
  72. быстрый).
  73. </entry>
  74. </row>
  75. <row>
  76. <entry><emphasis>hashed_directory_level</emphasis></entry>
  77. <entry><type>Integer</type></entry>
  78. <entry>0</entry>
  79. <entry>
  80. Уровень структуры хэшированного каталога:
  81. 0 означает "нет структуры
  82. хэшированного каталога",
  83. 1 — "один уровень каталога",
  84. 2 — "два уровня"... Эта опция ускорит
  85. кэширование только если у вас тысячи файлов кэша.
  86. Только сравнение может помочь вам выбрать
  87. оптимальное для вас значение. Возможно,
  88. 1 или 2 будут хорошими
  89. значениями для начала.
  90. </entry>
  91. </row>
  92. <row>
  93. <entry><emphasis>hashed_directory_umask</emphasis></entry>
  94. <entry><type>Integer</type></entry>
  95. <entry>0700</entry>
  96. <entry>
  97. Маска режима создания файлов для структуры
  98. хэшированного каталога.
  99. </entry>
  100. </row>
  101. <row>
  102. <entry><emphasis>file_name_prefix</emphasis></entry>
  103. <entry><type>String</type></entry>
  104. <entry>'zend_cache'</entry>
  105. <entry>
  106. Префикс для файлов кэша. Будьте осторожны с этой
  107. опцией, поскольку слишком общее значение в
  108. системной директории для кэша (например,
  109. <filename>/tmp</filename>)
  110. может привести к катастрофическим последствиям при
  111. очищении кэша.
  112. </entry>
  113. </row>
  114. <row>
  115. <entry><emphasis>cache_file_umask</emphasis></entry>
  116. <entry><type>Integer</type></entry>
  117. <entry>0700</entry>
  118. <entry>
  119. umask для файлов кэша
  120. </entry>
  121. </row>
  122. <row>
  123. <entry><emphasis>metatadatas_array_max_size</emphasis></entry>
  124. <entry><type>Integer</type></entry>
  125. <entry>100</entry>
  126. <entry>
  127. Внутренний максимальный размер для массива
  128. метаданных (не изменяйте это значение если только
  129. не знаете, что делаете)
  130. </entry>
  131. </row>
  132. </tbody>
  133. </tgroup>
  134. </table>
  135. </sect2>
  136. <sect2 id="zend.cache.backends.sqlite">
  137. <title>Zend_Cache_Backend_Sqlite</title>
  138. <para>
  139. Этот расширенный бэкэнд хранит записи кэша в базе данных SQLite.
  140. </para>
  141. <para>
  142. Доступные опции:
  143. </para>
  144. <table id="zend.cache.backends.sqlite.table">
  145. <title>Опции Zend_Cache_Backend_Sqlite</title>
  146. <tgroup cols="4">
  147. <thead>
  148. <row>
  149. <entry>Опция</entry>
  150. <entry>Тип данных</entry>
  151. <entry>Значение по умолчанию</entry>
  152. <entry>Описание</entry>
  153. </row>
  154. </thead>
  155. <tbody>
  156. <row>
  157. <entry><emphasis>cache_db_complete_path</emphasis> (обязательный)</entry>
  158. <entry><type>String</type></entry>
  159. <entry><constant>NULL</constant></entry>
  160. <entry>
  161. Полный путь (с именем файла) к базе данных SQLite.
  162. </entry>
  163. </row>
  164. <row>
  165. <entry><emphasis>automatic_vacuum_factor</emphasis></entry>
  166. <entry><type>Integer</type></entry>
  167. <entry>10</entry>
  168. <entry>
  169. Отклочение/настройка процесса автоматической
  170. чистки. Автоматическая чистка дефрагментирует
  171. файл данных (и делает его меньше) при вызове
  172. методов <methodname>clean()</methodname>
  173. и <methodname>delete()</methodname>:
  174. 0 - автоматическая чистка отключена;
  175. 1 - систематическая чистка (при каждом вызове
  176. методов <methodname>delete()</methodname> или
  177. <methodname>clean()</methodname>);
  178. x (целое число больше 1) - автоматическая чистка
  179. производится случайным образом 1 раз на x вызовов
  180. методов <methodname>clean()</methodname>
  181. и <methodname>delete()</methodname>.
  182. </entry>
  183. </row>
  184. </tbody>
  185. </tgroup>
  186. </table>
  187. </sect2>
  188. <sect2 id="zend.cache.backends.memcached">
  189. <title>Zend_Cache_Backend_Memcached</title>
  190. <para>
  191. Этот расширенный бэкэнд хранит записи кэша в сервере memcached.
  192. <ulink url="http://www.danga.com/memcached/">memcached</ulink> —
  193. высокопроизводительная распределенная система кэширования объектов
  194. в памяти. Для того, чтобы использовать этот бэкэнд, вам нужны
  195. установленные демон memcached и <ulink url="http://pecl.php.net/package/memcache">расширение PECL для memcached</ulink>.
  196. </para>
  197. <para>
  198. Будьте осторожны: на данный момент теги для этого бэкэнда
  199. не поддерживаются, то же самое с аргументом
  200. "doNotTestCacheValidity=true".
  201. </para>
  202. <para>
  203. Доступные опции:
  204. </para>
  205. <table id="zend.cache.backends.memcached.table">
  206. <title>Опции Zend_Cache_Backend_Memcached</title>
  207. <tgroup cols="4">
  208. <thead>
  209. <row>
  210. <entry>Опция</entry>
  211. <entry>Тип данных</entry>
  212. <entry>Значение по умолчанию</entry>
  213. <entry>Описание</entry>
  214. </row>
  215. </thead>
  216. <tbody>
  217. <row>
  218. <entry><emphasis>servers</emphasis></entry>
  219. <entry><type>Array</type></entry>
  220. <entry>
  221. array(array('host' => 'localhost', 'port' => 11211, 'persistent' => true, 'weight' => 1,
  222. 'timeout' => 5, 'retry_interval' => 15, 'status' => true, 'failure_callback' => '' ))
  223. </entry>
  224. <entry>
  225. Массив серверов memcached; каждый сервер описан
  226. ассоциативным массивом:
  227. 'host' => (string) : имя сервера memcached,
  228. 'port' => (int) : порт сервера memcached,
  229. 'persistent' => (bool) : использовать или нет
  230. постоянное соединение с сервером,
  231. 'weight' => (int) : вес сервера memcached,
  232. 'timeout' => (int) : таймаут сервера memcached,
  233. 'retry_interval' => (int) : интервал между повторными попытками,
  234. 'status' => (bool) : статус сервера memcached,
  235. 'failure_callback' => (callback) : обратный вызов сервера memcached
  236. </entry>
  237. </row>
  238. <row>
  239. <entry><emphasis>compression</emphasis></entry>
  240. <entry><type>Boolean</type></entry>
  241. <entry><constant>FALSE</constant></entry>
  242. <entry>
  243. <constant>TRUE</constant>, если вы хотите использовать
  244. компрессию "на лету"
  245. </entry>
  246. </row>
  247. <row>
  248. <entry><emphasis>compatibility</emphasis></entry>
  249. <entry><type>Boolean</type></entry>
  250. <entry><constant>FALSE</constant></entry>
  251. <entry>
  252. <constant>TRUE</constant>, если нужно включить режим
  253. совместимости со старыми серверами и расширениями
  254. memcache
  255. </entry>
  256. </row>
  257. </tbody>
  258. </tgroup>
  259. </table>
  260. </sect2>
  261. <sect2 id="zend.cache.backends.apc">
  262. <title>Zend_Cache_Backend_Apc</title>
  263. <para>
  264. Этот расширенный бэкэнд хранит записи кэша в совместно используемой
  265. памяти через расширение
  266. <ulink url="http://pecl.php.net/package/APC">APC</ulink>
  267. (Alternative <acronym>PHP</acronym> Cache — альтернативный
  268. кэш <acronym>PHP</acronym>), которое, разумеется, необходимо
  269. установить для использования этого бэкэнда.
  270. </para>
  271. <para>
  272. Будьте осторожны: на данный момент теги для этого бэкэнда
  273. не поддерживаются, то же самое и с аргументом
  274. "doNotTestCacheValidity=true".
  275. </para>
  276. <para>
  277. Нет специальных опций для этого бэкэнда.
  278. </para>
  279. </sect2>
  280. <sect2 id="zend.cache.backends.xcache">
  281. <title>Zend_Cache_Backend_Xcache</title>
  282. <para>
  283. Этот бэкэнд хранит записи кэша в совместно используемой
  284. памяти через расширение
  285. <ulink url="http://xcache.lighttpd.net/">XCache</ulink>, которое
  286. должно быть установлено для использования данного бэкэнда.
  287. </para>
  288. <para>
  289. Будьте осторожны: на данный момент теги для этого бэкэнда
  290. не поддерживаются, то же самое и с аргументом
  291. "doNotTestCacheValidity=true".
  292. </para>
  293. <para>
  294. Доступные опции:
  295. </para>
  296. <table id="zend.cache.backends.xcache.table">
  297. <title>Опции Zend_Cache_Backend_Xcache</title>
  298. <tgroup cols="4">
  299. <thead>
  300. <row>
  301. <entry>Опция</entry>
  302. <entry>Тип данных</entry>
  303. <entry>Значение по умолчанию</entry>
  304. <entry>Описание</entry>
  305. </row>
  306. </thead>
  307. <tbody>
  308. <row>
  309. <entry><emphasis>user</emphasis></entry>
  310. <entry><type>String</type></entry>
  311. <entry><constant>NULL</constant></entry>
  312. <entry>
  313. <filename>xcache.admin.user</filename>,
  314. необходима для метода
  315. <methodname>clean()</methodname>
  316. </entry>
  317. </row>
  318. <row>
  319. <entry><emphasis>password</emphasis></entry>
  320. <entry><type>String</type></entry>
  321. <entry><constant>NULL</constant></entry>
  322. <entry>
  323. <filename>xcache.admin.pass</filename> - пароль
  324. в незашифрованном виде,
  325. необходим для метода
  326. <methodname>clean()</methodname>
  327. </entry>
  328. </row>
  329. </tbody>
  330. </tgroup>
  331. </table>
  332. </sect2>
  333. <sect2 id="zend.cache.backends.platform">
  334. <title>Zend_Cache_Backend_ZendPlatform</title>
  335. <para>
  336. Этот бэкэнд использует <acronym>API</acronym>
  337. <ulink url="http://www.zend.com/products/platform">Zend
  338. Platform</ulink> для кэширования контента. Естетственно,
  339. использование этого бэкэнда требует наличия установленного Zend
  340. Platform.
  341. </para>
  342. <para>
  343. Этот бэкэнд поддерживает теги, но не поддерживает режим очищения
  344. <constant>CLEANING_MODE_NOT_MATCHING_TAG</constant>.
  345. </para>
  346. <para>
  347. Указывайте этот бэкэнд, используя разделитель слов '-', '.', ' ',
  348. или '_' между словами 'Zend' и 'Platform', когда используете метод
  349. <methodname>Zend_Cache::factory()</methodname>:
  350. </para>
  351. <programlisting language="php"><![CDATA[
  352. $cache = Zend_Cache::factory('Core', 'Zend Platform');
  353. ]]></programlisting>
  354. <para>
  355. Нет специальных опций для этого бэкэнда.
  356. </para>
  357. </sect2>
  358. <sect2 id="zend.cache.backends.twolevels">
  359. <title>Zend_Cache_Backend_TwoLevels</title>
  360. <para>
  361. Этот расширенный бэкэнд является гибридным. Он сохраняет записи кэша
  362. через два других бэкэнда: быстрый, но ограниченный в функциональных
  363. возможностях, бэкэнд (Apc, Memcache и др.),
  364. и "медленный", но более функциональный, бэкэнд (File, Sqlite и др.)
  365. </para>
  366. <para>
  367. Этот бэкэнд использует параметр priority (который передается
  368. фронтэнду при сохранении записи) и оставшееся место в быстром
  369. бэкэнде для оптимизации использования этих двух бэкэндов.
  370. </para>
  371. <para>
  372. Доступные опции:
  373. </para>
  374. <table id="zend.cache.backends.twolevels.table">
  375. <title>Опции Zend_Cache_Backend_TwoLevels</title>
  376. <tgroup cols="4">
  377. <thead>
  378. <row>
  379. <entry>Опция</entry>
  380. <entry>Тип данных</entry>
  381. <entry>Значение по умолчанию</entry>
  382. <entry>Описание</entry>
  383. </row>
  384. </thead>
  385. <tbody>
  386. <row>
  387. <entry><emphasis>slow_backend</emphasis></entry>
  388. <entry><type>String</type></entry>
  389. <entry>File</entry>
  390. <entry>
  391. Имя "медленного" бэкэнда
  392. </entry>
  393. </row>
  394. <row>
  395. <entry><emphasis>fast_backend</emphasis></entry>
  396. <entry><type>String</type></entry>
  397. <entry>Apc</entry>
  398. <entry>
  399. Имя "быстрого" бэкэнда
  400. </entry>
  401. </row>
  402. <row>
  403. <entry><emphasis>slow_backend_options</emphasis></entry>
  404. <entry><type>Array</type></entry>
  405. <entry><methodname>array()</methodname></entry>
  406. <entry>
  407. Опции для "медленного" бэкэнда
  408. </entry>
  409. </row>
  410. <row>
  411. <entry><emphasis>fast_backend_options</emphasis></entry>
  412. <entry><type>Array</type></entry>
  413. <entry><methodname>array()</methodname></entry>
  414. <entry>
  415. Опции для "быстрого" бэкэнда
  416. </entry>
  417. </row>
  418. <row>
  419. <entry><emphasis>slow_backend_custom_naming</emphasis></entry>
  420. <entry><type>Boolean</type></entry>
  421. <entry><constant>FALSE</constant></entry>
  422. <entry>
  423. Если <constant>TRUE</constant>, то аргумент slow_backend
  424. используется как полное имя класса, иначе
  425. значение этого аргумента используется в конце
  426. имени класса
  427. "<classname>Zend_Cache_Backend_</classname>[...]".
  428. </entry>
  429. </row>
  430. <row>
  431. <entry><emphasis>fast_backend_custom_naming</emphasis></entry>
  432. <entry><type>Boolean</type></entry>
  433. <entry><constant>FALSE</constant></entry>
  434. <entry>
  435. Если <constant>TRUE</constant>, то аргумент fast_backend
  436. используется как полное имя класса.
  437. Если <constant>FALSE</constant>, то
  438. значение этого аргумента используется в конце
  439. имени класса
  440. "<classname>Zend_Cache_Backend_</classname>[...]".
  441. </entry>
  442. </row>
  443. <row>
  444. <entry><emphasis>slow_backend_autoload</emphasis></entry>
  445. <entry><type>Boolean</type></entry>
  446. <entry><constant>FALSE</constant></entry>
  447. <entry>
  448. Если <constant>TRUE</constant>, то для медленного бэкэнда не
  449. будет производиться включение require_once
  450. (полезно только при использовании собственных
  451. бэкэндов).
  452. </entry>
  453. </row>
  454. <row>
  455. <entry><emphasis>fast_backend_autoload</emphasis></entry>
  456. <entry><type>Boolean</type></entry>
  457. <entry><constant>FALSE</constant></entry>
  458. <entry>
  459. Если <constant>TRUE</constant>, то для быстрого бэкэнда не
  460. будет производиться включение require_once
  461. (полезно только при использовании собственных
  462. бэкэндов).
  463. </entry>
  464. </row>
  465. <row>
  466. <entry><emphasis>auto_refresh_fast_cache</emphasis></entry>
  467. <entry><type>Boolean</type></entry>
  468. <entry><constant>TRUE</constant></entry>
  469. <entry>
  470. Если <constant>TRUE</constant>, то будет производиться
  471. автоматическое обновление "быстрого" кэша при
  472. попадании в кэш.
  473. </entry>
  474. </row>
  475. <row>
  476. <entry><emphasis>stats_update_factor</emphasis></entry>
  477. <entry><type>Integer</type></entry>
  478. <entry>10</entry>
  479. <entry>
  480. Настройка частоты вычисления
  481. процента заполнения быстрого бэкэнда,
  482. либо полное отключение вычисления. При сохранении
  483. записи в кэш вычисление процента заполнения
  484. быстрого бэкэнда производится случайным образом
  485. 1 раз на x записей в кэш.
  486. </entry>
  487. </row>
  488. </tbody>
  489. </tgroup>
  490. </table>
  491. </sect2>
  492. <sect2 id="zend.cache.backends.zendserver">
  493. <title>Zend_Cache_Backend_ZendServer_Disk и Zend_Cache_Backend_ZendServer_ShMem</title>
  494. <para>
  495. Эти бэкэнды служат для сохранения записей кэша через соответствующую
  496. возможность <ulink url="http://www.zend.com/en/products/server/downloads-all?zfs=zf_download">Zend Server</ulink>.
  497. </para>
  498. <para>
  499. Будьте осторожны - в настоящий момент этот бэкэнд не поддерживает
  500. теги, так же, как и аргумент "doNotTestCacheValidity=true".
  501. </para>
  502. <para>
  503. Этот бэкэнд работает только в среде Zend Server с запросами,
  504. производимыми через <acronym>HTTP</acronym> и
  505. <acronym>HTTPS</acronym>, и не работает в случае скриптов,
  506. запускаемых через командную строку.
  507. </para>
  508. <para>
  509. Нет специальных опций для этого бэкэнда.
  510. </para>
  511. </sect2>
  512. </sect1>
  513. <!--
  514. vim:se ts=4 sw=4 et:
  515. -->