tha*_*syo 76 linux php memcached
我想使用 memcached
http://www.danga.com/memcached/
我已经安装了 yum install memcached
但是现在我需要连接到PHP,并且有一个名为memcache 的扩展名和一个名为memcached 的扩展名?阿格
http://us3.php.net/manual/en/book.memcache.php
http://us3.php.net/manual/en/book.memcached.php
有人可以在这里指出我正确的方向..哪个会起作用?
另外,即使它是本地的,我是否需要打开任何端口才能工作?运行后,我尝试 telnet 127.0.0.1 11211 并且连接被拒绝。
Dav*_*ley 29
正如 Nate 的链接所暗示的那样,对于简单的使用,两者都可以很好地工作。但是,memcached 支持更多功能,可让您从 memcached 中获得最大性能。二进制协议减少了客户端和服务器之间需要发送的数据量。Multigets 和 multisets 允许您同时获取/设置多个项目。如果您发现需要更多的内存缓存功能,memcached 是更好的模块。libmemcached 的使用表明该库本身可能比仅 PHP 版本更优化。
与 memcache 相比,Memcached 是一个更新的模块,仅在 8 个月前发布。如果您需要针对旧版本的 PHP,那么您只能真正使用 memcache。
Jes*_*non 24
简短的回答:任何一个都是你要找的,但我的第一选择是 memcache(你列出的第一个),纯粹基于它对命名法的正确使用。
现在我是如何得出这个结论的:
这是命名约定的快速背景知识(对于那些不熟悉的人),它解释了提问者的挫败感:对于许多 *nix 应用程序,执行后端工作的部分称为“守护进程”(想想 Windows 中的“服务”-土地),而接口或客户端应用程序是用来控制或访问守护进程的。守护进程通常与客户端同名,并在其后附加字母“d”。例如,“imap”将是连接到“imapd”守护进程的客户端。
当您阅读memcache 模块的介绍时,memcache显然遵循此命名约定(请注意此摘录中的 memcache 和 memcached 之间的区别):
Memcache 模块为 memcached 提供了方便的面向过程和面向对象的接口,高效的缓存守护进程,专为减少动态 Web 应用程序中的数据库负载而设计。
Memcache 模块还提供了一个会话处理程序(memcache)。
有关 memcached 的更多信息,请访问 » http://www.danga.com/memcached/。
此处的挫折是由 PHP 扩展的作者造成的,该扩展名被错误地命名为memcached,因为它与名为memcached的实际守护进程共享相同的名称。还要注意,在memcached(php 模块)的介绍中,它提到了libmemcached,它是模块用来访问 memcached 守护进程的共享库(或 API):
memcached 是一种高性能、分布式内存对象缓存系统,本质上是通用的,但旨在通过减轻数据库负载来加速动态 Web 应用程序。
此扩展使用 libmemcached 库提供 API 以与 memcached 服务器通信。它还提供了一个会话处理程序(memcached)。
有关 libmemcached 的信息可以在 » http://tangent.org/552/libmemcached.html 中找到 。
总而言之,两者在功能上是相同的,只是它们的作者不同,并且一个比另一个更恰当地命名。
tyl*_*erl 21
之所以叫php-memcache那个更老、更笨拙的人,是因为这似乎是最合适的名字。由 Digg 的人独立开发的更新、更好的版本改为命名php-memcached以消除歧义。
那些仅根据名称的正确性推荐您选择其中一个的人实际上没有提供技术建议的业务。
小智 7
最近使用了 php-memcache,我不得不向您指出 php-memcached。
这是我头顶上的几个原因..
1) 没有 getErrorCode() 或等效方法,因此如果 get() 返回 FALSE,您将不知道这是因为存储在 memcache 中的值为 false,还是存在某种问题。
2) 它用于一致散列的散列算法似乎与其他实现不同,例如许多基于 libmemcached 构建的客户端库。这意味着,如果您想对多种语言使用同一个 memcache 集群,您可能会遇到问题,即您将使用 PHP 客户端存储值,而其他客户端将找不到它。
| 归档时间: |
|
| 查看次数: |
68301 次 |
| 最近记录: |