Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
36 changes: 29 additions & 7 deletions reference/yac/book.xml
Original file line number Diff line number Diff line change
@@ -1,7 +1,5 @@
<?xml version="1.0" encoding="utf-8"?>
<!-- $Revision$ -->
<!-- EN-Revision: 68c2c871505aadf983f16113c5b077b335ce8d76 Maintainer: yannick Status: ready -->
<!-- Reviewed: no -->
<!-- EN-Revision: 1a42637cd40d0f75af1435ff051c7caa9b1c83e0 Maintainer: lacatoire Status: ready -->

<book xml:id="book.yac" xmlns="http://docbook.org/ns/docbook" xmlns:xlink="http://www.w3.org/1999/xlink">
<?phpdoc extension-membership="pecl" ?>
Expand All @@ -10,10 +8,34 @@

<preface xml:id="intro.yac">
&reftitle.intro;
<para>
Yac (Yet Another cache), est un cache de données utilisateur
en mémoire partagée, sans verrou, pouvant être utilisé pour remplacer APC.
</para>
<simpara>
Yac (Yet Another Cache) est un cache de données utilisateur en mémoire
partagée, sans verrou, pouvant être utilisé pour remplacer APC ou un
memcached local.
</simpara>
<simpara>
Yac stocke les données en mémoire partagée, ce qui les rend visibles par
chaque worker PHP de la même machine sans aucune communication
inter-processus. Au lieu de verrous, Yac repose sur des mises à jour
atomiques de slots et quelques sondes de collision, ce qui signifie qu'un
défaut de cache ne bloque jamais une requête, et qu'une écriture
concurrente peut au pire provoquer un échec de stockage ou une lecture
ratée que l'appelant peut simplement réessayer.
</simpara>
<simpara>
Parce que Yac échange des garanties de cohérence contre vitesse et
débit, il convient mieux aux données coûteuses à produire mais faciles à
recréer : fragments de page, instantanés de configuration, petites
réponses de service et autres caches locaux. Il ne doit pas être utilisé
comme stockage faisant autorité pour des données irremplaçables.
</simpara>
<note>
<simpara>
La mémoire partagée n'est visible qu'au sein d'une seule machine. Pour
partager un cache entre plusieurs serveurs, utiliser un cache réseau tel
que Memcached ou Redis.
</simpara>
</note>
</preface>

&reference.yac.setup;
Expand Down
4 changes: 1 addition & 3 deletions reference/yac/configure.xml
Original file line number Diff line number Diff line change
@@ -1,7 +1,5 @@
<?xml version="1.0" encoding="utf-8"?>
<!-- $Revision$ -->
<!-- EN-Revision: b8be4b126c545a0b452be29b6b5ce185471814a1 Maintainer: yannick Status: ready -->
<!-- Reviewed: no -->
<!-- EN-Revision: 1a42637cd40d0f75af1435ff051c7caa9b1c83e0 Maintainer: lacatoire Status: ready -->

<section xml:id="yac.installation" xmlns="http://docbook.org/ns/docbook" xmlns:xlink="http://www.w3.org/1999/xlink">
&reftitle.install;
Expand Down
4 changes: 1 addition & 3 deletions reference/yac/constants.xml
Original file line number Diff line number Diff line change
@@ -1,7 +1,5 @@
<?xml version="1.0" encoding="utf-8"?>
<!-- $Revision$ -->
<!-- EN-Revision: 86e6094e86b84a51d00ab217ac50ce8dde33d82a Maintainer: yannick Status: ready -->
<!-- Reviewed: no -->
<!-- EN-Revision: 1a42637cd40d0f75af1435ff051c7caa9b1c83e0 Maintainer: lacatoire Status: ready -->

<appendix xml:id="yac.constants" xmlns="http://docbook.org/ns/docbook" xmlns:xlink="http://www.w3.org/1999/xlink">
&reftitle.constants;
Expand Down
77 changes: 52 additions & 25 deletions reference/yac/ini.xml
Original file line number Diff line number Diff line change
@@ -1,14 +1,12 @@
<?xml version="1.0" encoding="utf-8"?>
<!-- $Revision$ -->
<!-- EN-Revision: d4d5216e7a965ca194f6b1c9dee84cecab2674e5 Maintainer: yannick Status: ready -->
<!-- Reviewed: no -->
<!-- EN-Revision: 1a42637cd40d0f75af1435ff051c7caa9b1c83e0 Maintainer: lacatoire Status: ready -->

<section xml:id="yac.configuration" xmlns="http://docbook.org/ns/docbook">
&reftitle.runtime;
&extension.runtime;
<para>
<table>
<title>&ConfigureOptions; Yac</title>
<title>Yac &ConfigureOptions;</title>
<tgroup cols="4">
<thead>
<row>
Expand Down Expand Up @@ -76,9 +74,14 @@
<type>int</type>
</term>
<listitem>
<para>

</para>
<simpara>
Les valeurs sérialisées plus grandes que ce nombre d'octets sont
compressées avant d'être stockées (actuellement avec LZ4). Mettre à
<literal>-1</literal> (la valeur par défaut) pour désactiver
entièrement la compression. Compresser les grandes valeurs économise
de la mémoire partagée au coût de quelques cycles CPU lors du
stockage et de la récupération.
</simpara>
</listitem>
</varlistentry>
<varlistentry xml:id="ini.yac.debug">
Expand All @@ -87,9 +90,10 @@
<type>int</type>
</term>
<listitem>
<para>

</para>
<simpara>
Réservé au débogage. À partir de Yac 2.4.0, cette directive est
enregistrée mais n'a aucun effet.
</simpara>
</listitem>
</varlistentry>
<varlistentry xml:id="ini.yac.enable">
Expand All @@ -98,9 +102,10 @@
<type>int</type>
</term>
<listitem>
<para>

</para>
<simpara>
Si Yac est activé. Si désactivé, créer une instance de
<classname>Yac</classname> lance une exception.
</simpara>
</listitem>
</varlistentry>
<varlistentry xml:id="ini.yac.enable-cli">
Expand All @@ -109,9 +114,12 @@
<type>int</type>
</term>
<listitem>
<para>

</para>
<simpara>
Si Yac est activé lors de l'exécution sous le SAPI
<literal>CLI</literal>. Désactivé par défaut car les scripts en
ligne de commande démarrent et s'arrêtent immédiatement, et le
segment de mémoire partagée serait créé inutilement.
</simpara>
</listitem>
</varlistentry>
<varlistentry xml:id="ini.yac.keys-memory-size">
Expand All @@ -120,9 +128,15 @@
<type>string</type>
</term>
<listitem>
<para>

</para>
<simpara>
Quantité de mémoire partagée utilisée pour la table de hachage qui
contient les clés et les informations de gestion. Chaque slot est une
structure de taille fixe, donc cette valeur détermine combien
d'éléments peuvent être suivis simultanément. La valeur par défaut
est <literal>4M</literal>. Yac divise cette zone en segments ; la
taille de segment est de 4M, donc cette valeur doit être un multiple
de <literal>4M</literal>.
</simpara>
</listitem>
</varlistentry>
<varlistentry xml:id="ini.yac.serializer">
Expand All @@ -131,9 +145,17 @@
<type>string</type>
</term>
<listitem>
<para>

</para>
<simpara>
Sérialisateur utilisé pour transformer les valeurs PHP arbitraires
en octets avant de les stocker. Les valeurs autorisées sont
<literal>php</literal> (la valeur par défaut),
<literal>json</literal>, <literal>igbinary</literal> et
<literal>msgpack</literal>. Les trois derniers nécessitent que
l'extension soit compilée avec le support correspondant. Les
sérialisateurs binaires tels que <literal>igbinary</literal> et
<literal>msgpack</literal> sont généralement plus rapides et
produisent des données plus compactes que <literal>php</literal>.
</simpara>
</listitem>
</varlistentry>
<varlistentry xml:id="ini.yac.values-memory-size">
Expand All @@ -142,9 +164,14 @@
<type>string</type>
</term>
<listitem>
<para>

</para>
<simpara>
Quantité de mémoire partagée utilisée pour stocker les valeurs
réelles. La valeur par défaut est <literal>64M</literal>. Yac alloue
cette zone en segments de 4M chacun, donc cette valeur doit être un
multiple de <literal>4M</literal>. Lorsque la zone est pleine, les
entrées les moins récemment utilisées sont expulsées pour faire de la
place aux nouvelles.
</simpara>
</listitem>
</varlistentry>

Expand Down
62 changes: 48 additions & 14 deletions reference/yac/setup.xml
Original file line number Diff line number Diff line change
@@ -1,31 +1,65 @@
<?xml version="1.0" encoding="utf-8"?>
<!-- $Revision$ -->
<!-- EN-Revision: 9dbf3a558f49ddc5b2e0097abd3f06cf5413f25d Maintainer: yannick Status: ready -->
<!-- Reviewed: no -->
<!-- EN-Revision: 1a42637cd40d0f75af1435ff051c7caa9b1c83e0 Maintainer: lacatoire Status: ready -->

<chapter xml:id="yac.setup" xmlns="http://docbook.org/ns/docbook" xmlns:xlink="http://www.w3.org/1999/xlink">
&reftitle.setup;

<section xml:id="yac.requirements">
&reftitle.required;
<para>

</para>
<simpara>
Aucune bibliothèque externe n'est requise.
</simpara>
</section>

<!-- {{{ Installation -->
<section xml:id="yac.installation">
&reftitle.install;
<para>
<simpara>
&pecl.moved;
</para>
<para>
</simpara>
<simpara>
&pecl.info;
<link xlink:href="&url.pecl.package;yac">&url.pecl.package;yac</link>.
</para>
<para>
</simpara>
<simpara>
&pecl.windows.download.avail;
</simpara>
<para>
Le code source est hébergé sur
<link xlink:href="&url.git.hub;laruence/yac">GitHub</link>. Pour compiler
l'extension depuis les sources :
<screen>
<![CDATA[
$ git clone https://github.com/laruence/yac.git
$ cd yac
$ phpize
$ ./configure
$ make
$ sudo make install
]]>
</screen>
</para>
<simpara>
Les options <literal>configure</literal> suivantes sont disponibles :
</simpara>
<simpara>
Les valeurs sont compressées avec LZ4 avant d'être stockées. Par défaut,
Yac utilise la copie de LZ4 fournie avec l'extension ; aucun indicateur
supplémentaire n'est nécessaire. Pour lier l'extension contre la
bibliothèque LZ4 système, utiliser le commutateur
<option role="configure">--with-system-lz4</option>, qui nécessite que
l'en-tête <literal>lz4.h</literal> et <literal>liblz4</literal> soient
installés.
</simpara>
<simpara>
Des sérialisateurs alternatifs peuvent être compilés avec
<option role="configure">--enable-json</option>,
<option role="configure">--enable-msgpack</option> ou
<option role="configure">--enable-igbinary</option>, qui enregistrent
l'extension correspondante comme dépendance optionnelle. Le sérialisateur
utilisé à l'exécution est sélectionné avec la directive ini
<link linkend="ini.yac.serializer">yac.serializer</link>.
</simpara>
</section>
<!-- }}} -->

Expand All @@ -35,9 +69,9 @@

<section xml:id="yac.resources">
&reftitle.resources;
<para>

</para>
<simpara>
Cette extension ne définit aucune ressource.
</simpara>
</section>

</chapter>
Expand Down
52 changes: 52 additions & 0 deletions reference/yac/versions.xml
Original file line number Diff line number Diff line change
@@ -0,0 +1,52 @@
<?xml version="1.0" encoding="utf-8"?>
<?do-not-translate?>

<versions>
<!-- Classes and Methods -->

<function name='yac' from='PECL yac &gt;= 1.0.0'/>
<function name='yac::__construct' from='PECL yac &gt;= 1.0.0'/>
<function name='yac::add' from='PECL yac &gt;= 1.0.0'/>
<function name='yac::add key' from='PECL yac &gt;= 1.0.0'/>
<function name='yac::add value' from='PECL yac &gt;= 1.0.0'/>
<function name='yac::add ttl' from='PECL yac &gt;= 1.0.0'/>
<function name='yac::set' from='PECL yac &gt;= 1.0.0'/>
<function name='yac::set key' from='PECL yac &gt;= 1.0.0'/>
<function name='yac::set value' from='PECL yac &gt;= 1.0.0'/>
<function name='yac::set ttl' from='PECL yac &gt;= 1.0.0'/>
<function name='yac::__set' from='PECL yac &gt;= 1.0.0'/>
<function name='yac::get' from='PECL yac &gt;= 1.0.0'/>
<function name='yac::get key' from='PECL yac &gt;= 1.0.0'/>
<function name='yac::get cas' from='PECL yac &gt;= 1.0.0, &lt;= 2.3.1'/>
<function name='yac::get default' from='PECL yac &gt;= 2.4.0'/>
<function name='yac::__get' from='PECL yac &gt;= 1.0.0'/>
<function name='yac::delete' from='PECL yac &gt;= 1.0.0'/>
<function name='yac::delete key' from='PECL yac &gt;= 1.0.0'/>
<function name='yac::delete delay' from='PECL yac &gt;= 1.0.0'/>
<function name='yac::flush' from='PECL yac &gt;= 1.0.0'/>
<function name='yac::info' from='PECL yac &gt;= 1.0.0'/>
<function name='yac::dump' from='PECL yac &gt;= 1.0.0'/>
<function name='yac::dump limit' from='PECL yac &gt;= 1.0.0'/>
<function name='yac::dump offset' from='PECL yac &gt;= 2.4.0'/>
</versions>

<!-- Keep this comment at the end of the file
Local variables:
mode: sgml
sgml-omittag:t
sgml-shorttag:t
sgml-minimize-attributes:nil
sgml-always-quote-attributes:t
sgml-indent-step:1
sgml-indent-data:t
indent-tabs-mode:nil
sgml-parent-document:nil
sgml-default-dtd-file:"~/.phpdoc/manual.ced"
sgml-exposed-tags:nil
sgml-local-catalogs:nil
sgml-local-ecat-files:nil
End:
vim600: syn=xml fen fdm=syntax fdl=2 si
vim: et tw=78 syn=sgml
vi: ts=1 sw=1
-->
4 changes: 1 addition & 3 deletions reference/yac/yac.xml
Original file line number Diff line number Diff line change
@@ -1,7 +1,5 @@
<?xml version="1.0" encoding="utf-8"?>
<!-- $Revision$ -->
<!-- EN-Revision: 4d17b7b4947e7819ff5036715dd706be87ae4def Maintainer: yannick Status: ready -->
<!-- Reviewed: no -->
<!-- EN-Revision: 1a42637cd40d0f75af1435ff051c7caa9b1c83e0 Maintainer: lacatoire Status: ready -->

<reference xml:id="class.yac" role="class" xmlns="http://docbook.org/ns/docbook" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:xi="http://www.w3.org/2001/XInclude">

Expand Down
Loading