ADOdb

Database Abstraction Layer for PHP

User Tools

Site Tools


v5:userguide:memcached

Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Both sides previous revisionPrevious revision
Next revision
Previous revision
Last revisionBoth sides next revision
v5:userguide:memcached [2019/12/16 00:53] mnewnhamv5:userguide:memcached [2022/03/20 18:07] – [Adding Weighted Server Groups] fix syntax error in code sample dregad
Line 55: Line 55:
  
 </code> </code>
 +===== Adding Weighted Server Groups =====
 +
 +From ADOdb version 5.22, the **memcached** library supports the use of **//Weighted server groups//**, in which a specific server can be forced to return a result a specific percentage of the time. 
 +
 +If the feature is used, the total weighting of the server group must equal 100%.  To achieve this, the configuration of the servers must be defined in a different way to the default. Each host is defined as an array:
 +
 +<code php>
 +array(
 + 'host'=> The host name,
 + 'port'=> The port, defaults to 11211,
 + 'weight'=> A percentage, up to 100,
 +);
 +</code>
 +
 +The host arrays are then combined together. In this example 86.91 serves 70% of requests and 86.92 serves 30%
 +<code php>
 +
 +$hosts = array(
 +    array('host'=>'192.168.86.91','port'=>'11211','weight'=>70),
 +    array('host'=>'192.168.86.92','port'=>'11211','weight'=>30),
 +    );
 +
 +$db = NewADOConnection($driver='mysqli');
 +
 +/*
 + * Enable memcache
 + */
 +$db->memCache = true;
 +
 +/*
 + * Add the weighted servers in $memCacheHosts. All other parameters are ignored.
 + */
 +$db->memCacheHost = $hosts
 + 
 +</code>
 +
 +===== Adding options to the memcached server =====
 +From ADOdb version 5.22, [[https://www.php.net/manual/en/memcached.setoption.php|server options]] can be set on the **Memcached** connection by use of the **memCacheOptions** array
 +
 +<code php>
 +
 +$hosts = array(
 +    array('host'=>'192.168.86.91','port'=>'11211','weight'=>70)
 +    array('host'=>'192.168.86.92','port'=>'11211','weight'=>30)
 +    );
 +
 +$db = NewADOConnection($driver='mysqli');
 +
 +/*
 + * Enable memcache
 + */
 +$db->memCache = true;
 +
 +/*
 + * Add the weighted servers in $memCacheHosts
 + */
 +$db->memCacheHost = $hosts;
 +
 +/*
 +* Set some options
 +*/
 +$db->memCacheOptions = array(Memcached::OPT_HASH=>Memcached::HASH_MURMUR);
 +</code>
 +
 ===== Using Debug Mode  ===== ===== Using Debug Mode  =====
  
v5/userguide/memcached.txt · Last modified: 2022/03/29 18:29 by dregad