首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >存储大XML数据的最佳位置

存储大XML数据的最佳位置
EN

Stack Overflow用户
提问于 2012-01-26 01:21:46
回答 5查看 1.9K关注 0票数 1

我正在做一个项目,在这个项目中,xml feed通过cron job从不同的服务器获取到我的服务器,并将其保存为文件,我的网站使用该xml文件在网站上显示数据。

但问题是,xml文件大约有两个大小(4mb),每次用户访问站点时,服务器都会获取该文件(从相同的位置),并对其进行解析并为用户提供服务,因此如果命中率为1000次,服务器将提取1000次(这就是我想要解决的开销)。

我尝试使用memcache,但也被限制为2mb。

谁能告诉我,将这么大的xml保存在DB中,作为xml文件,还是保存在memcache中,最好的方法是什么?我应该将这些xml分成几个类别吗?

EN

回答 5

Stack Overflow用户

回答已采纳

发布于 2012-01-26 01:33:42

我将创建一个数据库,获取cron作业,然后解析XML并将所有内容插入到DB中,并且只为数据库中的用户提供服务。

为了确保数据的一致性,您可以实现基本版本控制。将当前版本号存储在某个地方;每当您获得新的XML时,将下一个版本存储到数据库中,然后更新当前版本号,定期进行清理。

票数 2
EN

Stack Overflow用户

发布于 2012-01-26 01:29:39

你可以实现一个原生的PHP缓存系统,它没有像Memcached那样的内存限制,请阅读:http://www.the-art-of-web.com/php/buffer/

票数 0
EN

Stack Overflow用户

发布于 2012-01-26 01:53:29

对于4MB的数据,使用memcache不是一个好的选择,而且您已经遇到了XML文件的问题。正如@ori回答的那样,更好的选择是将xml数据存储到某个数据库中,并从数据库中为用户提供服务。

有关如何将MySQL 5.5 Load XML Syntax加载到数据库的示例,请参阅此链接。

还有一点,如果您将此XML作为web服务(如SOAP)获取,则应该有一个仅获取更新数据的选项。这样,你也可以节省一些下载时间。

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

https://stackoverflow.com/questions/9007089

复制
相关文章

相似问题

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