README.txt 2.73 KB
Newer Older
robertDouglass's avatar
robertDouglass committed
1
## INSTALLATION ##
2

lyricnz's avatar
lyricnz committed
3 4
To install, move memcache.inc to your DRUPAL/includes directory (where the
other *.inc files live).
5

lyricnz's avatar
lyricnz committed
6 7 8
The memcache.inc file is intended to be used instead of cache.inc, utilizing
Drupal's pluggable cache system. To make this happen, you need to update
$conf in settings.php to tell Drupal which cache_inc file to use:
9 10

 $conf = array(
lyricnz's avatar
lyricnz committed
11
   'cache_inc' => './includes/memcache.inc',
12 13
 );

robertDouglass's avatar
robertDouglass committed
14
## SERVERS ##
15

lyricnz's avatar
lyricnz committed
16 17 18 19 20
The available memcached servers are specified in $conf in settings.php. If
you do not specify any servers, memcache.inc assumes that you have a
memcached instance running on localhost:11211. If this is true, and it is
the only memcached instance you wish to use, no further configuration is
required.
robertDouglass's avatar
robertDouglass committed
21

lyricnz's avatar
lyricnz committed
22 23 24
If you have more than one memcached instance running, you need to add two
arrays to $conf; memcache_servers and memcache_bins. The arrays follow this
pattern:
robertDouglass's avatar
robertDouglass committed
25 26 27 28 29 30 31 32

'memcache_servers' => array(host1:port => cluster, host2:port => cluster, hostN:port => cluster)

'memcache_bins' => array(bin1 => cluster, bin2 => cluster, binN => cluster)

The bin/cluster/server model can be described as follows:

- Servers are memcached instances identified by host:port.
lyricnz's avatar
lyricnz committed
33 34 35 36 37

- Bins are groups of data that get cached together and map 1:1 to the $table
  param in cache_set. Examples from Drupal core are cache_filter,
  cache_menu. The default is 'cache'.

robertDouglass's avatar
robertDouglass committed
38
- Clusters are groups of servers that act as a pool.
lyricnz's avatar
lyricnz committed
39

robertDouglass's avatar
robertDouglass committed
40
- many bins can be assigned to a cluster.
lyricnz's avatar
lyricnz committed
41

robertDouglass's avatar
robertDouglass committed
42 43
- The default cluster is 'default'.

lyricnz's avatar
lyricnz committed
44 45 46 47
Here is an example configuration that has two clusters, 'default' and
'cluster2'. Five memcached instances are divided up between the two
clusters. 'cache_filter' and 'cache_menu' bins goe to 'cluster2'. All other
bins go to 'default'.
robertDouglass's avatar
robertDouglass committed
48 49 50 51 52 53 54 55 56

$conf = array(
  'cache_inc' => './includes/memcache.inc',
  'memcache_servers' => array('localhost:11211' => 'default', 
                              'localhost:11212' => 'default', 
                              '123.45.67.890:11211' => 'default', 
                              '123.45.67.891:11211' => 'cluster2', 
                              '123.45.67.892:11211' => 'cluster2'),

lyricnz's avatar
lyricnz committed
57 58 59
  'memcache_bins' => array('cache' => 'default', 
                           'cache_filter' => 'cluster2', 
                           'cache_menu' => 'cluster2'),
robertDouglass's avatar
robertDouglass committed
60 61 62
);

## PATCHES ##
63

lyricnz's avatar
lyricnz committed
64 65 66 67 68
No patches need to be applied. The patches that are currently part of the
DRUPAL-5--1.dev release should not be applied and will not be part of the
final release. Instead, a new module will be created, advanced_cache, which
will offer these patches as an advanced caching option for sites, with or
without memcache.
69

robertDouglass's avatar
robertDouglass committed
70
## MEMCACHE ADMIN ##
71

lyricnz's avatar
lyricnz committed
72 73
A module offering a UI for memcache is on the way. It will provide stats, a
way to clear the cache, and an interface to organize servers/bins/clusters.