php - Memcached - 如何处理添加/部署服务器

标签 php memcached graceful-degradation offline-mode

您如何处理生产应用程序中的替换/添加/删除 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/

相关文章:

php - 在有内容的页面上触发文件下载

django - 如何在 Django 中使用缓存? (最好在GAE中)

CSS3动画的Javascript降级解决方案

php - 循环生成 div 并从数据库填充它们

php - 警告为foreach()提供了无效的参数

php - 重置 PDO 中的光标位置

caching - Memcached、Redis 或 Couchbase

python - “模块”对象没有属性 'PY2'

javascript - 禁用 Javascript 的 Gatsby 静态站点

ajax - HTTP POST 和优雅降级