【问题标题】:Need caching system that's both fast and big需要既快又大的缓存系统
【发布时间】:2013-01-27 14:45:14
【问题描述】:

在 PhP 中是否有一个又快又大的缓存系统?

如果我在磁盘中缓存,则 IO 会上升。

如果我缓存在内存中,内存很小。

我需要一个在内存中缓存的综合缓存系统,但是当内存变大时,会自动将大数据顺序转储到磁盘。

PhP 中有这样的东西吗?

该网站存储了大量的小物品(30k),数以百万计。现在每个数据都存储在一个文件中

【问题讨论】:

  • 你想缓存什么?大量小物件/少量大物件/...?
  • 大量的小物品 (30k) 数以百万计。现在每个数据都存储在一个文件中。
  • 你试过APC吗?
  • Redis 是一个很好的缓存软件,除非你接近内存限制,但话说回来,你可能想看看Distributed caching

标签: php caching


【解决方案1】:

您应该尝试以下方法之一:

APC

XCACHE

加速器

回忆录

ZEND 优化器

这些是可用的最佳 PHP 缓存解决方案。

【讨论】:

  • 问题不在于如何构建通用缓存,而在于哪些解决方案可以在磁盘 I/O 和内存使用之间进行(可调)权衡。
  • 除了memcache,你列出的解决方案大多是操作码缓存。问题的措辞方式听起来像是需要通用数据缓存。
  • 删除了我的 -1,因为答案被编辑成完全不同的东西(删除并添加新答案可能更有意义)。
  • @JimThio "opcode" 指 PHP 的已编译机器就绪形式,通常仅在 PHP 文件加载到内存并执行时短暂存在; “操作码缓存”保存每个文件的编译形式,节省下次需要该文件的时间(例如,用于网站上的不同页面加载)。
【解决方案2】:

听起来你想要 Redis。它有点像 memcache,但具有基于磁盘的持久性/溢出。

【讨论】:

  • Redis 有持久性但不会溢出,你不能拥有大于内存的数据集。请参阅redis.io/topics/faq 的常见问题解答
猜你喜欢
  • 2019-07-11
  • 1970-01-01
  • 1970-01-01
  • 2014-02-13
  • 2011-11-04
  • 1970-01-01
  • 2011-11-14
  • 2021-03-22
  • 2011-04-24
相关资源
最近更新 更多