APC 和 Memcache 有什么区别,哪个更好效率更高?
程序员文章站
2022-05-25 10:25:10
...
回复内容:
APC更多时候用作Opcode Cache, 而MemCache是用作CotentCache. 这个上面都回答过了.我补充一点, APC用作Content Cache的时候, 它是单机Cache. 而MemCache可以实现多机共享. 所以类似一些Session共享问题, 就只能用类似MemCache的缓存.
另外因为设计问题, 如果你使用APC缓存易变的内容, 可能会造成缓存内容不同步.(不知道后续修复了没, 我大概有1年多没有关注过APC的Upgrade了) 由于PHP的特性,每次执行完页面之后,所有运行中的对象都会被释放,所以APC和Memcached就可以用来在脚本、进程之间共享、缓存数据。
APC是PHP的一个扩展,会加载在PHP的进程中,除了可以将PHP代码解释成OPCode保存在内存中之外,还能在PHP的进程之间使用共享内存(系统内核的数据结构)来保存数据,而且完全透明
而Memcached是一个外部的服务,要通过tcp或udp的网络协议来共享/缓存数据
Memcached好处是可以在多台机器之间共享、缓存数据,或者是与其他非php应用共享数据,但由于使用网络协议进行交互,而且在交互过程中需要对php对象进行序列化、反序列化等,延迟较直接集成在PHP进程中的APC大很多
Facebook同时使用了APC和Memcache作了两层缓存 APC 是基于共享内存的,理论上速度更快一些。但缺点是不易对非PHP进程和外部机器分享数据。Memecache 基于开放的协议,N台机器N种语言N个进程都可以访问其中的数据,缺点就是(相比APC来说)要慢那么一点点。 apc用于php代码解释成opcode后保存在内存中
mc用于数据的缓存
通常配合一起都用
下一篇: 辛星解读为什么PHP需要模板
推荐阅读
-
360安全浏览器和360极速浏览器哪个更好用?两者有什么区别?
-
SEO优化和竞价哪个职业前景更好?两者有什么区别?
-
海象牙和象牙有什么区别?海象牙和象牙哪个更好?
-
清朝的御前大臣和领侍卫内大臣有什么区别?哪个地位更高?
-
亲淘和阿里旺旺哪个更好用 亲淘和阿里旺旺有什么区别对比
-
985和211有什么区别?哪个更好一些?附2021年985大学排名及分数线汇总表
-
主动降噪和被动降噪哪个隔音效果更好 主动降噪和被动降噪有什么区别
-
360安全浏览器和360极速浏览器哪个更好用?两者有什么区别?
-
基础医学和临床医学有什么区别?不同?哪个更好?(22届参考)
-
SEO优化和竞价哪个职业前景更好?两者有什么区别?