tutu-ru/lib-etcd-config

lib-config的etcd实现

1.0.0 2019-01-13 22:38 UTC

This package is auto-updated.

Last update: 2024-09-28 09:54:28 UTC


README

存储在etcd中的配置实现。可以单独使用,也可以与tutu-ru/php-config库一起使用,通过TutuRu\Config\ConfigInterface接口。

初始化和使用

配置在创建对象时立即加载。

创建配置

use TutuRu\EtcdConfig\EtcdConfig;

$config = new EtcdConfig('/config/root/node');
$config->getValue('some.node');

创建具有60秒数据缓存的配置

use TutuRu\EtcdConfig\EtcdConfig;
use Cache\Adapter\Apcu\ApcuCachePool;
use Cache\Bridge\SimpleCache\SimpleCacheBridge;

$cache = new SimpleCacheBridge(new ApcuCachePool());
$config = new EtcdConfig('/config/root/node', $cache, 60);
$config->getValue('some.node');

创建支持运行时更改的配置

use TutuRu\EtcdConfig\MutableEtcdConfig;

$config = new MutableEtcdConfig('/config/root/node');
$config->setValue('some.node', 'new value');

迁移

use TutuRu\EtcdConfig\EtcdConfigMutator;

$configMutator = new EtcdConfigMutator('/config/root/node');

$configMutator->init();
$configMutator->setValue('some/node', $value);