v5:userguide:memcached
Differences
This shows you the differences between two versions of the page.
| Both sides previous revisionPrevious revisionNext revision | Previous revision | ||
| v5:userguide:memcached [2017/04/15 18:23] – mnewnham | v5:userguide:memcached [2025/06/01 13:21] (current) – Remove square brackets in tags dregad | ||
|---|---|---|---|
| Line 1: | Line 1: | ||
| ====== Memcached Setup ====== | ====== Memcached Setup ====== | ||
| - | <WRAP tip> | + | |
| - | There are 2 PEAR modules for connecting to a Memcached server, the [[https:// | + | |
| - | * Windows support is only available for the Memcache library. | + | |
| - | * Memcache should be used in PHP 5.x environments on UNIX platforms. | + | |
| - | * Memcached should be used in PHP 7.x environments on UNIX platforms. | + | |
| - | * If both the memcache and memcached libraries are available, the memcache library will be used. | + | |
| - | </ | + | |
| ===== Description ===== | ===== Description ===== | ||
| This section describes connecting to an already configured Memcache server. Information about installation and configuration of Memcached servers can be found [[https:// | This section describes connecting to an already configured Memcache server. Information about installation and configuration of Memcached servers can be found [[https:// | ||
| + | |||
| ===== The Memcache Library ===== | ===== The Memcache Library ===== | ||
| + | There are 2 distinct PEAR modules for connecting to a [[wp> | ||
| + | <WRAP tip> | ||
| + | * Windows support is only available for the // | ||
| + | * // | ||
| + | * // | ||
| + | * If both libraries are available, // | ||
| + | </ | ||
| + | ===== Why can't I use the memcached library under Windows? ===== | ||
| + | The memcached library is much more heavily featured, more modern and better maintained. The problem with it is not a problem with ADOdb, nor a problem with PHP. The PHP module is dependent on the 3rd party library **libmemcache**, | ||
| Line 34: | Line 38: | ||
| /* | /* | ||
| * Use ' | * Use ' | ||
| - | * Note; Compression is only supported using the memcache library. This | ||
| - | | ||
| */ | */ | ||
| $db-> | $db-> | ||
| Line 51: | Line 53: | ||
| </ | </ | ||
| + | ===== Adding Weighted Server Groups ===== | ||
| + | |||
| + | From ADOdb version 5.22, the **memcached** library supports the use of **// | ||
| + | |||
| + | 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( | ||
| + | ' | ||
| + | ' | ||
| + | ' | ||
| + | ); | ||
| + | </ | ||
| + | |||
| + | 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(' | ||
| + | array(' | ||
| + | ); | ||
| + | |||
| + | $db = NewADOConnection($driver=' | ||
| + | |||
| + | /* | ||
| + | * Enable memcache | ||
| + | */ | ||
| + | $db-> | ||
| + | |||
| + | /* | ||
| + | * Add the weighted servers in $memCacheHosts. All other parameters are ignored. | ||
| + | */ | ||
| + | $db-> | ||
| + | |||
| + | </ | ||
| + | |||
| + | ===== Adding options to the memcached server ===== | ||
| + | From ADOdb version 5.22, [[https:// | ||
| + | |||
| + | <code php> | ||
| + | |||
| + | $hosts = array( | ||
| + | array(' | ||
| + | array(' | ||
| + | ); | ||
| + | |||
| + | $db = NewADOConnection($driver=' | ||
| + | |||
| + | /* | ||
| + | * Enable memcache | ||
| + | */ | ||
| + | $db-> | ||
| + | |||
| + | /* | ||
| + | * Add the weighted servers in $memCacheHosts | ||
| + | */ | ||
| + | $db-> | ||
| + | |||
| + | /* | ||
| + | * Set some options | ||
| + | */ | ||
| + | $db-> | ||
| + | </ | ||
| + | |||
| ===== Using Debug Mode ===== | ===== Using Debug Mode ===== | ||
| - | The size of query results that can be cached by the memcached server is limited by server configuration. The default is quite small. If the query is too large, and [[v5: | ||
| + | The size of query results that can be cached by the memcached server is limited by server configuration. The default is quite small. If the query is too large, and [[v5: | ||
| - | | + | < |
| - | (this is a notice and not an error) | + | 3849805e4e026b9e7c485999a24a95c6 cache failure: Item with such key doesn' |
| - | -----< | + | (this is a notice and not an error) |
| + | -----< | ||
| - | | + | (mysqli): SELECT * FROM employees |
| - | | + | ------< |
| - | Notice: MemcachePool:: | + | |
| - | SERVER_ERROR object too large for cache | + | |
| - | (3) in C: | + | |
| - | Failed to save data at the memcached server! | + | |
| - | Cache write error | + | Notice: MemcachePool:: |
| + | SERVER_ERROR object too large for cache | ||
| + | (3) in C: | ||
| + | Failed to save data at the memcached server! | ||
| - | | + | Cache write error |
| - | SERVER_ERROR object too large for cache (3) | + | |
| - | in C: | + | PHP Notice: |
| + | SERVER_ERROR object too large for cache (3) | ||
| + | in C: | ||
| + | </ | ||
| ADOdb currently has no mechanism for splitting large queries into smaller chunks. | ADOdb currently has no mechanism for splitting large queries into smaller chunks. | ||
| - | {{tag>[memcached cache]}} | + | {{tag> |
v5/userguide/memcached.1492273410.txt.gz · Last modified: (external edit)
