4

在花了一些时间尝试在 MAMP 上设置 Memcached 之后,我可能会遇到一些麻烦......

在我的 php 信息文件中,它声明了 memcached 并显示了相关信息: php 信息文件的图像

为了学习和使用 Memcached,我使用了以下教程: http ://net.tutsplus.com/tutorials/php/faster-php-mysql-websites-in-minutes/?search_index=1

这是我遇到的第一个问题,这是连接到缓存服务器:使用他们所说的,似乎没有用。

define('MEMCACHED_HOST', '127.0.0.1');
define('MEMCACHED_PORT', '11211');
$memcache = new Memcache;
$cacheAvailable = $memcache->connect(MEMCACHED_HOST, MEMCACHED_PORT);

我尝试将 127.0.0.1 更改为 localhost,但这不起作用。我的第一个调用点是将 memcache 更改为 memcached ......这仍然不起作用。

因此,我只想弄清楚如何连接和测试已使用 Memcached 建立的连接。如果 Memcache 和 Memcached 之间实际上存在不同的连接?或者,也许我设置了错误?任何建议或指导表示赞赏:)

4

2 回答 2

4

首先,我想您应该尝试使用 telnet 连接到 memcahed。

telnet 127.0.0.1 11211

假设您能够连接,这里有一些关于支持的命令的文档:http: //lzone.de/articles/memcached.htm

如果您无法通过 telnet 登录,则说明您的设置不正确,或者您可能有一些防火墙阻止了它。

PHP 有两个客户端,memcachememcached。我建议使用 memcached(我不知道他们为什么将客户端命名为守护进程 - 让我发疯)。较新的 memcached 客户端支持 CAS 操作和其他一些较新的功能。

您使用的连接代码看起来更像 memcache。使用 memcached,您将需要设置服务器池或仅使用addServer().

于 2013-02-01T16:20:46.630 回答
4

我找到了无法连接到 Memcached 的原因,并认为我会发布答案,以防万一有人遇到与我相同的问题。

解决方案是在终端中键入以下内容:

memcached -d

正如我发现的那样,似乎需要有效地打开 memcached。上面的代码做到了。尽管每次重新启动机器时,您都必须执行我刚才所说的操作。我仍在寻找自动启动 memcached 的答案。如果我遇到它,我会更新这篇文章。

于 2013-02-03T18:09:15.020 回答