0

我的 Memcached 服务器和 Redis 服务器与我的 Web 服务器不同,因此在 PHP 脚本中我必须连接到这两个外部 ip。

我担心的是,我的 Web 服务器最好保持与两个 memcached/redis 服务器的连接。这样当新用户请求一个php页面时,web服务器就不需要一次又一次的连接memcached/redis。

$redis = 新的 Redis(); $redis -> 关闭();(或与 memcached 和 mysql 类似)

我不确定在这种情况下 close 的实际含义。这是否意味着与 redis 服务器紧密连接以执行此特定的 php 脚本?考虑到我之前的担忧,跟注 close 实际上会影响我的表现吗?

4

2 回答 2

1

从您的服务器“关闭”实际连接实际上并没有发生任何事情。这实际上更多是应用程序中的内存管理问题,而不是服务器之间的网络/基础设施问题。考虑您有一个正在运行的程序可以实例化任意数量的对象的情况。close() 方法允许销毁这些对象并收集垃圾。如果您在创建数百个实例时没有关闭它们,那么您最终会在应用程序中出现内存泄漏。

于 2013-06-11T15:25:36.717 回答
1

如果您始终只有一个连接,并且您想知道是否在每次需要使用此连接时关闭并重新打开它,请放心,这就是连接池的用途。更多信息在这里。我知道 Predis 使用连接池。不确定 Php 使用什么库来与 Memcached 交互。

于 2013-06-11T18:23:23.713 回答