v5:userguide:memcached
Differences
This shows you the differences between two versions of the page.
Both sides previous revisionPrevious revisionNext revision | Previous revisionNext revisionBoth sides next revision | ||
v5:userguide:memcached [2017/04/15 18:23] – mnewnham | v5:userguide:memcached [2021/01/25 02:33] – [Adding Weighted Server Groups] mnewnham | ||
---|---|---|---|
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 51: | Line 55: | ||
</ | </ | ||
+ | ===== Adding Weighted Server Groups ===== | ||
+ | From ADOdb version 5.22, the **memcached** library supports the use of **// | ||
+ | |||
+ | <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-> | ||
+ | |||
+ | </ | ||
+ | |||
===== 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. |
v5/userguide/memcached.txt · Last modified: 2022/03/29 18:29 by dregad