SQL视图和JSON磁盘缓存

时间:2013-02-01 17:34:51

标签: php sql json caching views

我正在编写一个类似reddit的网站

用户可以显示其选择的类别中的项目。

为此我要查询他订阅的类别 JOIN 和项目。

硬核查询

第一种解决方案:将数据存储在“ categories_1-2-4-7-10.json ”中,并将其提供给浏览相同类别的用户。

缺点:占用磁盘空间,重负载

我正在考虑一个新的解决方案:观看次数。但是我真的不知道它们是如何工作的,它们是否经常重新生成以便在服务器上重载?

查看会让我查询已经加入的数据

此外:我只是查看首页项目。我不需要优化以后的页面,因为它们不经常访问。

1 个答案:

答案 0 :(得分:1)

将内容存储到磁盘然后为网站加载它是一个坏主意。与内存操作相比,磁盘操作非常慢。

您仍然可以存储JSON文档,但考虑将它们存储在缓存层中。

像Redis这样的东西,这是最近的热门(http://redis.io/)或Couchbase(http://www.couchbase.com/

将所有内容存储在内存中,网站速度会快得多。

至于重建视图的频率......一个好主意是给他们一个到期时间。了解一般情况下缓存的效果。您可以将缓存中存在的类别视图设置为1分钟。一分钟后,该项目会留下内存,然后您进行数据库查询以重新放入更新版本。冲洗并重复。