首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Memcache :混淆

Memcache :混淆
EN

Stack Overflow用户
提问于 2012-08-02 21:30:41
回答 1查看 1.8K关注 0票数 1

我将对我的PHP应用程序使用memcache(而不是memcacheD)。我几乎没有什么困惑。

我找到了memcache的this wrapper类。

1)与connect方法一样,它添加所有要拉取的服务器。如果对每个请求都这样做,会不会降低导致网络延迟的永久性原因?

2)如果池中有2台服务器,其中一台离线,仍会向离线服务器发出请求吗?没有其他方法可以自动从memcache中删除脱机服务器吗?如果不是,memcache.allow_failover =1设置有什么作用?

3)有没有办法查看哪个memcache服务器处理了多少缓存请求?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2012-08-04 05:05:34

任何memcache API/wrapper都可以。您甚至可以通过PHP的CURL方法构建自己的脚本。

1)是否每个请求都拉取所有服务器并导致网络延迟?

不是的。当您的应用程序发出请求时,它会尝试连接到单个服务器,并在出现故障、超时( NOT_FOUND )、超时和tc时"go-fish“连接到下一个服务器。可能会有一些网络延迟,但比与数据库交互要少得多。如果您关心I/O和延迟,您应该能够在您的应用程序中构建一个简单的解决方案。

2)是否仍会向离线服务器发出请求?

你说了算。尽管系统已关闭,但您的应用程序可能仍在尝试连接到它。如果您决定使用PECL的memcache API,您的应用程序应该能够识别memcached是否在任何给定的服务器上正常运行。Memcache::checkServerStatus

2.1) memcache.allow_failover做什么?

这就是它所说的。如果您有memcached服务器ABD。服务器A就会宕机。这两个选项都将发出USER_NOTICE;但是,memcache.allow_failover=1将继续为B提供服务器,并允许读取和写入。当memcache.allow_failover=0时,所有的memcache I/O都将优雅地返回false。

查看docs

3) Memcached服务器报告

Memcached提供了一个stats命令,而PECL的memcache也提供了一个status方法。然而,它们与内存/分片统计数据相关。如果您想要了解使用情况的监控报告,请查看New Relic

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/11778495

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档