Насколько я понял, главная проблема здесь заключается в том, как кэшировать конфигурацию, чтобы она в основном обновлялась при ее изменении.
Что ж, лучшим вариантом здесь, очевидно, является сохранение его в базе данных и обновление из БД, скажем, каждые 15 секунд. С большой нагрузкой на приложение, запрос БД каждые 15 секунд ничего не изменит. Загрузка данных из самой БД довольно быстрая, так как вам нужно всего несколько полей.
Еще один вариант, который может сработать здесь - использовать отдельный memcached :) Серьезно, просто кэшируйте конфигурацию, загруженную из БД, очищая этот ключ кэша при обновлении конфигурации.
Подводя итог: любая схема истечения срока действия будет работать. Самое простое решение - сохранить его самостоятельно (сохранить последнее время обновления и проверять его при каждом вызове функции); немного более продвинутый - используйте что-то вроде memcached.
update : БД - лучшее решение, поскольку оно хорошо масштабируется: вам не нужно копировать конфигурации на 20 серверах при каждом обновлении конфигурации.