Some updates on 1.1.0 (under development)

git-svn-id: https://svn.php.net/repository/phpdoc/en/trunk@324276 c90b9560-bf6c-de11-be94-00142212c4b1
This commit is contained in:
Ulf Wendel 2012-03-15 15:20:22 +00:00
parent 4683fdcff3
commit 6bb6fda12e
4 changed files with 100 additions and 12 deletions

View file

@ -119,6 +119,12 @@
</itemizedlist>
</para>
</listitem>
<listitem>
<para>
Built-in slam defense to prevent cache stampeding.
</para>
</listitem>
</itemizedlist>
</para>
</section>
@ -127,7 +133,7 @@
<title>Limitations</title>
<para>
The current 1.0.1 release of PECL mysqlnd_qc does
not support PHP 5.4.
not support PHP 5.4. Version 1.1.0-alpha lifts this limitation.
</para>
<para>
Prepared statements and unbuffered queries are fully supported.

View file

@ -24,7 +24,7 @@
</listitem>
<listitem>
<simpara>
Motto/theme: PHP 5.4 compatbility
Motto/theme: PHP 5.4 compatbility, schema pattern based caching and mysqlnd_ms support
</simpara>
</listitem>
</itemizedlist>
@ -52,13 +52,31 @@
</listitem>
<listitem>
<para>
New PHP configuration directive
New PHP configuration directives
<itemizedlist>
<listitem>
<simpara>
<literal><link linkend="ini.mysqlnd-qc.collect-statistics-log-file">
mysqlnd_qc.collect_statistics_log_file</link></literal>
</simpara>
<simpara>
<literal><link linkend="ini.mysqlnd-qc.ignore-sql-comments">
mysqlnd_qc.ignore_sql_comments</link></literal>.
Control whether SQL comments are ignored for cache key hash generation.
</simpara>
</listitem>
</itemizedlist>
</para>
</listitem>
<listitem>
<para>
New constants and SQL hints
<itemizedlist>
<listitem>
<simpara>
<literal>MYSQLND_QC_SERVER_ID_SWITCH</literal> allows grouping of cache entries from
different physical connections. This is needed by PECL/mysqlnd_ms.
</simpara>
</listitem>
</itemizedlist>
</para>
@ -69,6 +87,45 @@
of the default handler through <function>mysqlnd_qc_get_cache_info</function>.
</para>
</listitem>
<listitem>
<para>
Include charset number for cache entry hashing. This should prevent serving result
sets which have the wrong charset.
</para>
<para>
API change: get_hash_key expects new "charsetnr" (int) parameter after "port".
</para>
</listitem>
<listitem>
<para>
API change: changing is_select() signature from bool is_select() to
mixed is_select(). Mixed can be either boolean or
array(long ttl, string server_id). This is needed by PECL/mysqlnd_ms.
</para>
</listitem>
</itemizedlist>
</para>
<para>
Other
<itemizedlist>
<listitem>
<para>
Support acting as a cache backend for
<link linkend="book.mysqlnd-ms">PECL/mysqlnd_ms</link> 1.3.0-beta or later
to transparently replace MySQL Replication slave reads with cache accesses,
if the user explicitly allows.
</para>
</listitem>
</itemizedlist>
</para>
<para>
Bug fixes
<itemizedlist>
<listitem>
<simpara>
Fixed Bug #59959 (config.m4, wrong library - 64bit memcached handler builds) (Credits: Remi Collet)
</simpara>
</listitem>
</itemizedlist>
</para>
</section>

View file

@ -87,6 +87,20 @@
<entry><!-- leave empty, this will be filled by an automatic script -->
</entry>
</row>
<row>
<entry><link linkend="ini.mysqlnd-qc.collect-normalized-query-trace">mysqlnd_qc.collect_normalized_query_trace</link></entry>
<entry>0</entry>
<entry>PHP_INI_SYSTEM</entry>
<entry><!-- leave empty, this will be filled by an automatic script -->
</entry>
</row>
<row>
<entry><link linkend="ini.mysqlnd-qc.ignore-sql-comments">mysqlnd_qc.ignore_sql_comments</link></entry>
<entry>1</entry>
<entry>PHP_INI_ALL</entry>
<entry><!-- leave empty, this will be filled by an automatic script -->
</entry>
</row>
<row>
<entry><link linkend="ini.mysqlnd-qc.slam-defense">mysqlnd_qc.slam_defense</link></entry>
<entry>0</entry>
@ -101,13 +115,6 @@
<entry><!-- leave empty, this will be filled by an automatic script -->
</entry>
</row>
<row>
<entry><link linkend="ini.mysqlnd-qc.collect-normalized-query-trace">mysqlnd_qc.collect_normalized_query_trace</link></entry>
<entry>0</entry>
<entry>PHP_INI_SYSTEM</entry>
<entry><!-- leave empty, this will be filled by an automatic script -->
</entry>
</row>
<row>
<entry><link linkend="ini.mysqlnd-qc.std-data-copy">mysqlnd_qc.std_data_copy</link></entry>
<entry>0</entry>
@ -294,6 +301,24 @@
</para>
</listitem>
</varlistentry>
<varlistentry xml:id="ini.mysqlnd-qc.ignore-sql-comments">
<term>
<parameter>mysqlnd_qc.ignore_sql_comments</parameter>
<type>integer</type>
</term>
<listitem>
<para>
Whether to remove SQL comments from a query string before
hashing it to generate a cache key. Disable if you do not want
two statemts such as <literal>SELECT /*my_source_ip=123*/ id FROM test</literal>
and <literal>SELECT /*my_source_ip=456*/ id FROM test</literal> to refer
to the same cache entry.
</para>
<para>
Since 1.1.0.
</para>
</listitem>
</varlistentry>
<varlistentry xml:id="ini.mysqlnd-qc.slam-defense">
<term>
<parameter>mysqlnd_qc.slam_defense</parameter>
@ -301,7 +326,7 @@
</term>
<listitem>
<para>
Activates handler based slam defense if available.
Activates handler based slam defense (cache stampeding protection) if available.
Supported by
<literal>Default</literal> and
<literal>

View file

@ -770,7 +770,7 @@ Cache hit: 1
<para>
A badly designed cache can do more harm than good. In the worst case a cache
can increase database server load instead of minimizing it. An overload situation
can occur if a highly shared cache entry expires.
can occur if a highly shared cache entry expires (cache stampeding).
</para>
<para>
Cache entries are shared and reused to a different degree depending on