Author: Phil Pennock Date: To: Robert Blayzor CC: exim-users@exim.org, Graeme Fowler Subject: Re: [exim] DB lookup caching and multiple columns/fields
On 2012-11-27 at 09:56 -0500, Robert Blayzor wrote: > Does caching not work if you use the SQL in a macro? or does caching only happen using a ACL variable? I assume the ACL variable that was expanded can be used in routers and transports?
The ACL variable can be used later: it's preserved for the lifetime of
the email, as metadata attached to the email. If it will be valid for
as long as the message might be on the spool (and you won't have to deal
with user moves, for instance) then using the ACL variable provides a
static cache of the results.
Caching of a lookup lasts for the lifetime of a process. But there will
be multiple processes in play between receiving a message and delivering
it, with Exim re-execing itself at least once.
The only time caching does "not work" by default is in a named list;
named list lookups where the definition includes a '$' are by default
not cached, to ensure they're re-expanded each time. See "10.7 Named
list caching".