首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >在PHP中只缓存常用数据

在PHP中只缓存常用数据
EN

Stack Overflow用户
提问于 2011-01-29 19:32:18
回答 2查看 279关注 0票数 2

我有一个新闻网站,每天有大约58,000次点击,有36,000篇文章。在这36000个独特的故事中,只有30000个获得了1次点击(其中大部分是搜索引擎爬虫),只有30000个故事获得了超过20次的印象。除了这250篇文章之外,缓存任何东西都是浪费内存。

目前,我正在使用MySQL查询缓存和xcache进行数据缓存。该表每5-10分钟更新一次,因此仅查询缓存没有多大用处。如何单独检测频繁访问的页面并缓存数据?

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2011-01-30 03:43:56

我认为你可以从两个方面入手:

默认情况下,

  1. You不缓存任何内容。

您可以使用观察者/可观察模式实现一种在文章的视图达到阈值时触发事件的方法,并在creation上开始缓存每篇文章的page.

  • You缓存

在这两种情况下,您都可以使用cron清除未达到您定义的阈值的文章。

在任何情况下,您都可能需要使用任何启发式方法来足够早地确定您的文章将需要缓存,并且与任何启发式方法一样,您将有误报,反之亦然。

这将取决于你的内容是如何阅读的,如果文章是实时新闻,它可能会很有效,因为它会很快产生高流量。

这些方法的主要问题是,您将需要存储额外的信息,如上次访问的日期、时间及其当前页面视图,这可能会导致额外的查询。

票数 4
EN

Stack Overflow用户

发布于 2011-01-29 22:39:04

您只能缓存新文章(比如说最近添加的文章)。我建议你看看memcachedRedis --它们都是非常有用的、简单的、同时功能强大的缓存引擎。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/4836614

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档