windows安装 - php7 memcached




我应该何时使用Memcache而不是Memcached? (3)

看来PHP有两个名为memcachememcached memcached库。 有什么区别,你如何知道使用哪一个? 一个过时了吗? 看来,memcached提供了更多的方法,所以我会认为这意味着它有最大的发展 - 但它似乎也需要外部C / C ++库,所以我不知道我是否可以安装它。

看起来,memcache已经存在了更长的时间,不需要额外的库,并且已经为偶数窗口预编译了二进制文件 ! 我认为现在会是更好的选择。 然而,作为memcached(服务器)的新手,我不确定是否在memcached(php)中有一些超级重要的功能使其值得额外的麻烦。


Memcached是一个更新的API,它还提供了memcached作为会话提供者,如果你有一个服务器场,这可能会很棒。

在版本仍然很低0.2之后,但我已经使用了两者,而且我没有遇到重大问题,所以我会去memcached,因为它是新的。


Memcached客户端库最近刚刚发布为稳定版。 它正在被digg使用 (由Andrei Zmievski为digg开发,现在不再使用digg),并且实现了比旧的memcache客户端更多的memcached协议 。 memcached最重要的特性是:

  1. Cas令牌 。 这使我的生活变得更加轻松,并且是一个用于陈旧数据的简单预防系统。 无论何时从缓存中取出某个东西,都可以用它接收一个cas记号(双数)。 您可以使用该令牌来保存更新的对象。 如果没有其他人在线程运行时更新该值,交换将会成功。 否则,会创建一个较新的cas令牌,并且您不得不重新加载数据并使用新令牌再次保存它。
  2. 阅读callbacks是自切片面包以来最好的。 它简化了我的大部分代码。
  3. getDelayed()是一个很好的功能,可以减少脚本等待结果从服务器返回的时间。
  4. 虽然memcached服务器应该非常稳定,但它并不是最快的。 新客户端可以使用二进制协议代替ASCII。
  5. 无论何时将复杂数据保存到memcached中,客户端始终会对该值进行序列化(速度很慢),但现在使用memcached客户端时,可以选择使用igbinary 。 到目前为止,我还没有机会测试这可能会带来多大的性能提升。

所有这些要点足以让我切换到最新的客户端,并可以告诉你它的功能就像一个魅力。 libmemcached库有外部依赖性,但仍设法在Ubuntu和Mac OSX上安装它,所以到目前为止没有问题。

如果您决定更新到较新的库,我建议您更新到最新的服务器版本,以及它也有一些不错的功能。 你需要安装libevent来编译它,但是在Ubuntu上它并没有太大的麻烦。

到目前为止,我还没有看到任何框架可以使用新的memcached客户端(尽管我没有跟踪它们),但我认为Zend很快就会加入。

UPDATE

Zend Framework 2有一个适用于Memcached的适配器,可以在here找到


在使用Windows时,比较被缩短: memcache似乎是唯一可用的客户端。





memcached