Linux

Memcached - 單父配置,多個子配置

  • July 13, 2012

我正在生產中設置 memcached 伺服器,並且希望能夠通過將符號連結從一個配置更改為另一個配置來在各種記憶體大小之間切換,但是我不想將每個配置複製並粘貼到每個其他配置中,是可以有一個帶有多個子配置的主配置嗎?

例子:

# master config
PORT="11211"
USER="memcached"
MAXCONN="1024"
CACHESIZE="128"
OPTIONS=""

# Name: memcached_256
# child config for cache server of 256
# include options from master config
CACHESIZE="256"

# Name: memcached_512
# child config for cache server of 512
# include options from master config
CACHESIZE="512"

範例目錄列表:

ls /etc/sysconfig

memcached -> /path/to/my/version/controlled/configs/memcached_256

如果我需要升級,我可以簡單地將上面的符號連結更改為:

memcached -> /path/to/my/version/controlled/configs/memcached_512

然後在更改符號連結後,只需重新啟動服務。或者,如果有更好的方法來完成此功能,那也將不勝感激。

看起來這些文件是由啟動 memcached 的 initscript 提供的,而不是由 memcached 本身讀取的。因此,您可能會從子配置中獲取主配置,例如:

/etc/sysconf/memcached_master:

PORT="11211"
USER="memcached"
MAXCONN="1024"
CACHESIZE="128"
OPTIONS=""

/etc/sysconf/memcached_256:

. /etc/sysconfig/memcached_master
CACHESIZE="256"

/etc/sysconf/memcached_512:

. /etc/sysconfig/memcached_master
CACHESIZE="512"

然後符號連結/etc/sysconfig/memcached到您要使用的子配置。

引用自:https://serverfault.com/questions/407648