PPoossttffiixx mmeemmccaacchhee cclliieenntt HHoowwttoo

-------------------------------------------------------------------------------

IInnttrroodduuccttiioonn

The Postfix memcache client allows you to hook up Postfix to a memcache server.
The current implementation supports one memcache server per Postfix table, with
one optional Postfix database that provides persistent backup. The Postfix
memcache client supports the lookup, update, delete and sequence operations.
The sequence (i.e. first/next) operation requires a backup database that
supports this operation.

Typically, the Postfix memcache client is used to reduce query load on a
persistent database, but it may also be used to query a memory-only database
for low-value, easy-to-recreate, information such as a reputation cache for
postscreen(8), verify(8) or greylisting.

LLiimmiittaattiioonnss

  * The Postfix memcache client cannot be used for security-sensitive tables
    such as alias_maps (these may contain "|command" and "/file/name"
    destinations), or virtual_uid_maps, virtual_gid_maps and
    virtual_mailbox_maps (these specify UNIX process privileges or "/file/name"
    destinations). Typically, a memcache database is writable by any process
    that can talk to the memcache server; in contrast, security-sensitive
    tables must not be writable by the unprivileged Postfix user.

  * The Postfix memcache client requires additional configuration when used as
    postscreen(8) or verify(8) cache. For details see the backup and ttl
    parameter discussions in the memcache_table(5) manual page.

BBuuiillddiinngg PPoossttffiixx wwiitthh mmeemmccaacchhee ssuuppppoorrtt

The Postfix memcache client has no external dependencies, and is therefore
built into Postfix by default.

CCoonnffiigguurriinngg mmeemmccaacchhee llooookkuupp ttaabblleess

Configuration is described in the memcache_table(5) manpage.

CCrreeddiittss

The first memcache client for Postfix was written by Omar Kilani, and was based
on the libmemcache library.

Wietse wrote the current memcache client from the ground up. This
implementation does not use libmemcache, and bears no resemblance to earlier
work.

