仅缓存PHP中经常使用的数据

我有一个新闻网站,每天收到大约58,000次点击,共有36,000篇文章。在这36000个独特故事中,30000只获得1个热门(其中大部分是搜索引擎爬虫),只有250个故事获得超过20个印象。缓存任何内容是浪费内存,但这250篇文章。 目前我使用MySQL Query Cache和xcache进行数据缓存。该表每5-10分钟更新一次,因此单独的查询缓存不是很有用。如何单独检测经常访问的页面并缓存数据?     
已邀请:
我想你可以有两种选择: 默认情况下,您不缓存任何内容。 您可以使用Observer / Observable模式实现在文章视图达到阈值时触发事件的方法,并开始缓存页面。 您在创建时缓存每篇文章 在这两种情况下,您都可以使用cron清除未达到定义阈值的文章。 在任何情况下,您可能需要使用任何启发式方法来尽早确定您的文章需要缓存,并且在任何启发式方法中,您将具有误报,反之亦然。 它取决于你的内容是如何被阅读的,如果文章是实时新闻,它可能会很有效,因为它会迅速产生高流量。 这些方法的主要问题是您需要存储额外的信息,例如上次访问日期时间及其当前页面视图,这可能会导致额外的查询。     
您只能缓存新文章(比如说最近添加的文章)。我建议看看memcached和Redis - 它们都非常有用,简单,同时也是强大的缓存引擎。     

要回复问题请先登录注册