xref: /netbsd-src/external/ibm-public/postfix/dist/html/MEMCACHE_README.html (revision bdc22b2e01993381dcefeff2bc9b56ca75a4235c)
1<!doctype html public "-//W3C//DTD HTML 4.01 Transitional//EN"
2        "http://www.w3.org/TR/html4/loose.dtd">
3
4<html>
5
6<head>
7
8<title>Postfix memcache client Howto</title>
9
10<meta http-equiv="Content-Type" content="text/html; charset=us-ascii">
11
12</head>
13
14<body>
15
16<h1><img src="postfix-logo.jpg" width="203" height="98" ALT="">Postfix memcache client Howto</h1>
17
18<hr>
19
20<h2>Introduction</h2>
21
22<p>The Postfix memcache client allows you to hook up Postfix to a
23memcache server. The current implementation supports one memcache
24server per Postfix table, with one optional Postfix database that
25provides persistent backup.  The Postfix memcache client supports
26the lookup, update, delete and sequence operations.  The sequence
27(i.e. first/next) operation requires a backup database that supports
28this operation. </p>
29
30<p> Typically, the Postfix memcache client is used to reduce query
31load on a persistent database, but it may also be used to query a
32memory-only database for low-value, easy-to-recreate, information
33such as a reputation cache for <a href="postscreen.8.html">postscreen(8)</a>, <a href="verify.8.html">verify(8)</a> or greylisting.
34</p>
35
36<h2>Limitations</h2>
37
38<ul>
39
40<li> <p> The Postfix memcache client cannot be used for security-sensitive
41tables such as <tt><a href="postconf.5.html#alias_maps">alias_maps</a></tt> (these may contain "<tt>|command</tt>"
42and "<tt>/file/name</tt>" destinations), or <tt><a href="postconf.5.html#virtual_uid_maps">virtual_uid_maps</a></tt>,
43<tt><a href="postconf.5.html#virtual_gid_maps">virtual_gid_maps</a></tt> and <tt><a href="postconf.5.html#virtual_mailbox_maps">virtual_mailbox_maps</a></tt> (these
44specify UNIX process privileges or "<tt>/file/name</tt>" destinations).
45Typically, a memcache database is writable by any process that can
46talk to the memcache server; in contrast, security-sensitive tables
47must never be writable by the unprivileged Postfix user.  </p>
48
49<li> <p> The Postfix memcache client requires additional configuration
50when used as <a href="postscreen.8.html">postscreen(8)</a> or <a href="verify.8.html">verify(8)</a> cache.  For details see the
51<tt>backup</tt> and <tt>ttl</tt> parameter discussions in the
52<a href="memcache_table.5.html">memcache_table(5)</a> manual page. </p>
53
54</ul>
55
56<h2>Building Postfix with memcache support</h2>
57
58<p>The Postfix memcache client has no external dependencies,
59and is therefore built into Postfix by default. </p>
60
61<h2>Configuring memcache lookup tables</h2>
62
63<p> Configuration is described in the <a href="memcache_table.5.html">memcache_table(5)</a> manpage. </p>
64
65<h2>Credits</h2>
66
67<p> The first memcache client for Postfix was written by Omar Kilani,
68and was based on the libmemcache library. </p>
69
70<p> Wietse wrote the current memcache client from the ground up for
71Postfix version 2.9.  This implementation does not use libmemcache,
72and bears no resemblance to earlier work.  </p>
73
74</body>
75
76</html>
77