PHP中的memcached与内部缓存?

bco*_*lan 5 php memcached caching

我正在使用PHP中的一些旧(ish)软件来维护$ cache数组以减少SQL查询的数量.我想把memcached放在它的位置,我想知道是否要摆脱内部缓存.如果我保留内部缓存,或者memcached足够吗,那么仍然会有一个值得提升的性能吗?

Ist*_*ros 5

根据这篇博客文章,PHP内部数组比任何其他方法更快:

Cache Type                Cache Gets/sec

Array Cache                       365000
APC Cache                          98000
File Cache                         27000
Memcached Cache (TCP/IP)           12200
MySQL Query Cache (TCP/IP)          9900
MySQL Query Cache (Unix Socket)    13500
Selecting from table (TCP/IP)       5100
Selecting from table (Unix Socket)  7400
Run Code Online (Sandbox Code Playgroud)


Kri*_*ris 4

memcache(在金属上实现)似乎比某些 php 解释的缓存方案更快。

但是:如果它没有损坏,就不要修理它。

如果删除自定义缓存代码,您可能必须处理依赖于缓存的其他代码。我无法评价您必须维护的代码的质量,但这似乎是“可能不值得”的事情之一。

让我这样说:您是否相信原始开发人员编写的代码在您删除缓存后仍然可以工作?(我可能不会)

因此,除非现有的缓存给您带来问题,否则我建议不要将其删除。

  • 您如何认为 Memcache 会比解释系统更快(一般情况下)?它涉及 TCP 通信... Memcache 比查询数据库更快,因为两者都访问网络,但它不一定比从磁盘读取 php 文件更快(`$foo = include('myfoofile.php');` 其中 myfoofile.php ) php 包含 `<?php return array('blah','blah','blah');`)。两者都需要分配内存,但只有 php 文件可以利用本地操作码缓存...... (3认同)