您如何处理生产应用程序中的替换/添加/删除 memcached 节点? 由于每个客户都需要在同一个网络服务器上运行,因此我将拥有大量克隆和定制的应用程序,因此我猜想总有一天会更改某些节点。
下面是正常填充 memcached 的方式:
$m = new Memcached();
$servers = array(
array('mem1.domain.com', 11211, 33),
array('mem2.domain.com', 11211, 67)
);
$m->addServers($servers);
我最初的想法是让 $servers 数组从数据库中填充,也缓存,但基于文件,每天完成一次或其他,可以选择在下一次运行该函数时强制更新持有 $addservers 电话。但是,我猜测这可能会增加一些额外的开销,因为磁盘的存储速度非常慢......
你怎么看?
最佳答案
在源代码中定义这样的东西总是更好。当然,您可以使用 parse_ini_file()
或类似的东西来读取配置文件。但实际上,它属于源代码。但是,如果在 INI 文件中定义,与在 PHP 中定义您的条目相比,没有太多安全问题,例如代码注入(inject)等。
由于有几个应用程序可能会读取同一个 INI 文件,您可以将它放在所有应用程序都可以访问的公共(public)位置(例如,使用组权限)。实际上并不推荐这样做。
关于php - Memcached - 如何处理添加/部署服务器,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2924388/