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 never 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 for Postfix version 2.9. This implementation does not use libmemcache, and bears no resemblance to earlier work. |