php - 个人缓存与内存缓存?

标签 php caching memcached

我有一个个人缓存类,可以在这里看到(基于 WordPress'):
http://pastie.org/988427

我最近了解了 memcache,它对 memcache 说:
http://highscalability.com/blog/2010/5/17/7-lessons-learned-while-building-reddit-to-270-million-page.html

我的第一个想法是让我的类保留当前的功能并让它使用内存缓存——这样做有什么缺点吗?

我看到的主要区别是,memcache 在页面之间与服务器保持同步,而我的是用于 1 个页面加载。我看到出现的问题是它们是动态的,这对任何系统都是如此。他们一直在变化。无论是它的搜索结果、可见的产品等等。如果都缓存起来,不会产生问题吗?

有办法解决吗?显然,如果每次缓存都会返回相同的结果,但这就是为什么我在每页加载的基础上这样做。我确定有办法处理这个问题,还是缓存时间通常设置在 5 分钟到一个小时之间?

最佳答案

您当然需要一个好的缓存策略来避免过时数据的问题。对于动态数据和使用 memcached,您将不得不在某些数据更新时删除缓存条目。您不能仅仅依靠缓存条目来超时。使用 memcached,您可以只缓存特定页面生成的部分动态内容。如果你想缓存完整的 html 文档,我建议使用像 varnish ( http://varnish-cache.org/ ) 这样的反向代理。

关于php - 个人缓存与内存缓存?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2954291/

相关文章:

PHP 准备好的语句 - 无法从数据库检索字符串

amazon-ec2 - 又是 : sending mail (through php) from an EC2 instance

HTTP 缓存 - 检查服务器,始终发送 If-Modified-Since

caching - 使用 Varnish 缓存Heroku应用

php - ZF2 身份验证 session 存储在 memcached 中

php - 联合 2 列和另一个表中的另一列

php - 根据数据库 pdo 检查用户名

caching - 查找YouTube视频的直接video.google.com网址

google-app-engine - 何时避免使用内存缓存?

java - java实现Memcache的错误