[exim-conf] реализация интерфейса с memcached и использование memcached и redis в качестве backend для AWL

Victor Ustugov victor на corvax.kiev.ua
Вс Авг 23 01:01:32 EEST 2015


приветствую

реализован интерфейс для работы с memcached в виде двух named acl:
acl_memcached_set и acl_memcached_get.

в обоих acl для передачи данных memcached используется readsocket.

адрес и порт memcached указываются в переменных confMEMCACHED_HOST и
confMEMCACHED_PORT, в переменной confMEMCACHED_TIMEOUT указывается
величина таймаута.


код обоих acl'ей добавляется при перестроении конфигурационного файла
exim в случае, если в каком-то фильтре указана необходимость выполнения
запросов к memcached.

на данный момент такие запросы реализованы в автоматически пополняемых
персональных белых списках (AWL).

для использования memcached в качестве backend'а для AWL необходимо в
качестве значения переменной confAWL указать MEMCACHED.


еще одним новым значением переменной confAWL является REDIS. с его
помощью включается использование redis в качестве хранилища для данных
автоматически пополняемых персональных белых списков.

для использования redis необходимо в переменной confREDIS указать
параметры подключения к redis в формате, описанном в документации к exim
применительно к параметру redis_servers.


в случае использования memcached зачистка устаревших данных в кеше AWL
не производится, т. к. при сохранении значений указывается время их
жизни, равное 60*confAWL_PERIOD секундам.

в случае использования redis зачистка устаревших данных в кеше AWL
производится штатным скриптом periodic/awl_del_expired.sh, который нужно
перегенерировать командой gmake periodic после изменения значения
confAWL. непосредственно работа с данными redis производится с помощью
redis-cli.


при использовании обоих новых типов хранилища для данных AWL в ключах
используются префиксы "awl:".


для просмотра данных кеша AWL в случае использования redis можно
использовать скрипт contrib/awl/awl_redis_show.sh.

сделан он на коленке, пароль для доступа к redis берется из файла
конфигурации redis.conf, путь к которому указан специфичный для FreeBSD.

для случая с memcached скрипт просмотра данных кеша AWL еще не написан.
с memcached всё несколько более мутно с ихними stats items и stats
cachedump. так что скрипт будет написан позже и будет доступен в
contrib/awl/

-- 
Best wishes Victor Ustugov  mailto:victor на corvax.kiev.ua
public GnuPG/PGP key:       http://victor.corvax.kiev.ua/corvax.asc
ICQ UIN: 371808614          JID: corvax_at_nb на jabber.corvax.kiev.ua
nic-handle: CRV-UANIC



Подробная информация о списке рассылки exim-conf