[prev in list] [next in list] [prev in thread] [next in thread] 

List:       exim-users
Subject:    Re: [exim] Greylist memcached perl implementation
From:       Chris Laif <chris.laif () googlemail ! com>
Date:       2009-07-29 15:53:24
Message-ID: c03b2cda0907290853r35f1c904ya712818b1664ada0 () mail ! gmail ! com
[Download RAW message or body]

On Tue, Jul 28, 2009 at 11:39 AM, Mike
Cardwell<exim-users@lists.grepular.com> wrote:
> Chris Laif wrote:
>
>> We definitely need native memcached support compiled in exim. It would
>> be very useful to cache all kinds of lookup data (routing and user
>> information ...) as well. Currently exim looses all these information
>> as it is forking new processes for every mail processed.
>> Cache-invalidation might be a serious problem but there exist several
>> ways to solve it.
>
> I wouldn't go so far as, "definitely need," but I'd certainly go so far
> as to say, "very nice to have."
>

;-)


> I suspect it would be a good project for someone who is learning the
> code base. They could take much of the code that exists for socket
> connections with ${readsocket} and build on that.

I would suggest to use the client library 'libmemcached' and not to
re-implement the memcached protocol. The client library is able to
talk the binary protocol as well (increased performance).


> This would be nice:
>
> hostlist memcache_servers = <; 127.0.0.1:11211 ; 192.168.0.1:11211
> NAMESPACE = exim
>
> ${memcached{+memcache_servers}{NAMESPACE}{set}{key}{value}}
> ${memcached{+memcache_servers}{NAMESPACE}{set}{key}{value}{+1d}}
> ${memcached{+memcache_servers}{NAMESPACE}{get}{key}{$value}{None}}
>

Maybe it is more conform with the other database types to use a syntax
like this:

memcached_servers = <; 127.0.0.1 ; 192.168.0.1:12345
memcached_namespace = exim

acl_m_foo = ${lookup memcached{...}}

Chris

-- 
## List details at http://lists.exim.org/mailman/listinfo/exim-users 
## Exim details at http://www.exim.org/
## Please use the Wiki with this list - http://wiki.exim.org/
[prev in list] [next in list] [prev in thread] [next in thread] 

Configure | About | News | Add a list | Sponsored by KoreLogic