MYSQLND_MEMCACHE_GET_CONFIG(3) 1 MYSQLND_MEMCACHE_GET_CONFIG(3)
mysqlnd_memcache_get_config - Returns information about the plugin configuration
SYNOPSIS
array mysqlnd_memcache_get_config (mixed $connection)
DESCRIPTION
This function returns an array of all mysqlnd_memcache related configuration information that is attached to the MySQL connection. This
includes MySQL, the Memcache object provided via mysqlnd_memcache_set(3), and the table mapping configuration that was automatically col-
lected from the MySQL Server.
PARAMETERS
o $connection
- A handle to a MySQL Server using one of the MySQL API extensions for PHP, which are PDO_MYSQL, mysqli or ext/mysql.
RETURN VALUES
An array of mysqlnd_memcache configuration information on success, otherwise FALSE.
The returned array has these elements:
mysqlnd_memcache_get_config(3) array structure
+--------------+---------------------------------------------------+
| Array Key | |
| | |
| | Description |
| | |
+--------------+---------------------------------------------------+
| memcached | |
| | |
| | Instance of Memcached associated to this MySQL |
| | connection by mysqlnd_memcache_set. You can use |
| | this to change settings of the memcache connec- |
| | tion, or directly by querying the server on this |
| | connection. |
| | |
| pattern | |
| | |
| | The PCRE regular expression used to match the |
| | SQL query sent to the server. Queries matching |
| | this pattern will be further analyzed to decide |
| | whether the query can be intercepted and sent via |
| | the memcache interface or whether the query is |
| | sent using the general MySQL protocol to the |
| | server. The pattern is either the default pattern |
| | ( MYSQLND_MEMCACHE_DEFAULT_REGEXP) or it is set |
| | via mysqlnd_memcache_set(3). |
| | |
| mappings | |
| | |
| | An associative array with a list of all config- |
| | ured containers as they were discovered by this |
| | plugin. The key for these elements is the name of |
| | the container in the MySQL configuration. The |
| | value is described below. The contents of this |
| | field is created by querying the MySQL Server |
| | during association to MySQL and a memcache con- |
| | nection using mysqlnd_memcache_set. |
| | |
|mapping_query | |
| | |
| | An SQL query used during mysqlnd_memcache_set to |
| | identify the available containers and mappings. |
| | The result of that query is provided in the map- |
| | pings element. |
| | |
+--------------+---------------------------------------------------+
Mapping entry structure
+--------------+---------------------------------------------------+
| Array Key | |
| | |
| | Description |
| | |
+--------------+---------------------------------------------------+
| prefix | |
| | |
| | A prefix used while accessing data via memcache. |
| | With the MySQL InnoDB Memcache Deamon plugin, |
| | this usually begins with @@ and ends with a con- |
| | figurable separator. This prefix is placed in |
| | front of the key value while using the memcache |
| | protocol. |
| | |
| schema_name | |
| | |
| | Name of the schema (database) which contains the |
| | table being accessed. |
| | |
| table_name | |
| | |
| | Name of the table which contains the data acces- |
| | sible via memcache protocol. |
| | |
|id_field_name | |
| | |
| | Name of the database field (column) with the id |
| | used as key when accessing the table via mem- |
| | cache. Often this is the database field having a |
| | primary key. |
| | |
| separator | |
| | |
| | The separator used to split the different field |
| | values. This is needed as memcache only provides |
| | access to a single value while MySQL can map mul- |
| | tiple columns to this value. |
| | |
| | Note |
| | |
| | |
| | The separator, which can be set in |
| | the MySQL Server configuration, |
| | should not be part of any value |
| | retrieved via memcache because |
| | proper mapping can't be guaranteed. |
| | |
| fields | |
| | |
| | An array with the name of all fields available |
| | for this mapping. |
| | |
+--------------+---------------------------------------------------+
EXAMPLES
Example #1
mysqlnd_memcache_get_config(3) example
<?php
$mysqli = new mysqli("host", "user", "passwd", "database");
$memc = new Memcached();
$memc->addServer("host", 11211);
mysqlnd_memcache_set($mysqli, $memc);
var_dump(mysqlnd_memcache_get_config($mysqli));
?>
The above example will output:
array(4) {
["memcached"]=>
object(Memcached)#2(0) {
}
["pattern"]=>
string(125) "/^s*SELECTs*(.+?)s*FROMs*`?([a-z0-9_]+)`?s*WHEREs*`?([a-z0-9_]+)`?s*=s*(?(?=["'])["']([^"']*)["']|([0-9e.]*))s*$/is"
["mappings"]=>
array(1) {
["mymem_test"]=>
array(6) {
["prefix"]=>
string(13) "@@mymem_test."
["schema_name"]=>
string(4) "test"
["table_name"]=>
string(10) "mymem_test"
["id_field_name"]=>
string(2) "id"
["separator"]=>
string(1) "|"
["fields"]=>
array(3) {
[0]=>
string(2) "f1"
[1]=>
string(2) "f2"
[2]=>
string(2) "f3"
}
}
}
["mapping_query"]=>
string(209) " SELECT c.name,
CONCAT('@@', c.name, (SELECT value FROM innodb_memcache.config_options WHERE name = 'table_map_delimiter')) AS key_prefix,
c.db_schema,
c.db_table,
c.key_columns,
c.value_columns,
(SELECT value FROM innodb_memcache.config_options WHERE name = 'separator') AS sep
FROM innodb_memcache.containers c"
}
SEE ALSO
mysqlnd_memcache_set.
PHP Documentation Group MYSQLND_MEMCACHE_GET_CONFIG(3)