Limitations
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.
Prepared statements and unbuffered queries are fully supported.
diff --git a/reference/mysqlnd_qc/changes.xml b/reference/mysqlnd_qc/changes.xml
index e88cd8f7b6..693b1fa983 100644
--- a/reference/mysqlnd_qc/changes.xml
+++ b/reference/mysqlnd_qc/changes.xml
@@ -24,7 +24,7 @@
- Motto/theme: PHP 5.4 compatbility
+ Motto/theme: PHP 5.4 compatbility, schema pattern based caching and mysqlnd_ms support
@@ -52,13 +52,31 @@
- New PHP configuration directive
+ New PHP configuration directives
mysqlnd_qc.collect_statistics_log_file
+
+
+ mysqlnd_qc.ignore_sql_comments.
+ Control whether SQL comments are ignored for cache key hash generation.
+
+
+
+
+
+
+
+ New constants and SQL hints
+
+
+
+ MYSQLND_QC_SERVER_ID_SWITCH allows grouping of cache entries from
+ different physical connections. This is needed by PECL/mysqlnd_ms.
+
@@ -69,6 +87,45 @@
of the default handler through mysqlnd_qc_get_cache_info.
+
+
+ Include charset number for cache entry hashing. This should prevent serving result
+ sets which have the wrong charset.
+
+
+ API change: get_hash_key expects new "charsetnr" (int) parameter after "port".
+
+
+
+
+ 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.
+
+
+
+
+
+ Other
+
+
+
+ Support acting as a cache backend for
+ PECL/mysqlnd_ms 1.3.0-beta or later
+ to transparently replace MySQL Replication slave reads with cache accesses,
+ if the user explicitly allows.
+
+
+
+
+
+ Bug fixes
+
+
+
+ Fixed Bug #59959 (config.m4, wrong library - 64bit memcached handler builds) (Credits: Remi Collet)
+
+
diff --git a/reference/mysqlnd_qc/ini.xml b/reference/mysqlnd_qc/ini.xml
index fe6e7666cb..665e2ed48e 100644
--- a/reference/mysqlnd_qc/ini.xml
+++ b/reference/mysqlnd_qc/ini.xml
@@ -87,6 +87,20 @@
+
+ mysqlnd_qc.collect_normalized_query_trace
+ 0
+ PHP_INI_SYSTEM
+
+
+
+
+ mysqlnd_qc.ignore_sql_comments
+ 1
+ PHP_INI_ALL
+
+
+ mysqlnd_qc.slam_defense0
@@ -101,13 +115,6 @@
-
- mysqlnd_qc.collect_normalized_query_trace
- 0
- PHP_INI_SYSTEM
-
-
- mysqlnd_qc.std_data_copy0
@@ -294,6 +301,24 @@
+
+
+ mysqlnd_qc.ignore_sql_comments
+ integer
+
+
+
+ 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 SELECT /*my_source_ip=123*/ id FROM test
+ and SELECT /*my_source_ip=456*/ id FROM test to refer
+ to the same cache entry.
+
+
+ Since 1.1.0.
+
+
+ mysqlnd_qc.slam_defense
@@ -301,7 +326,7 @@
- Activates handler based slam defense if available.
+ Activates handler based slam defense (cache stampeding protection) if available.
Supported by
Default and
diff --git a/reference/mysqlnd_qc/quickstart.xml b/reference/mysqlnd_qc/quickstart.xml
index 1a327eaff0..d15979e981 100644
--- a/reference/mysqlnd_qc/quickstart.xml
+++ b/reference/mysqlnd_qc/quickstart.xml
@@ -770,7 +770,7 @@ Cache hit: 1
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).
Cache entries are shared and reused to a different degree depending on