Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/263.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php 用于存储html内容的文档数据库_Php_Mongodb_Hbase_Document Database_Nosql - Fatal编程技术网

Php 用于存储html内容的文档数据库

Php 用于存储html内容的文档数据库,php,mongodb,hbase,document-database,nosql,Php,Mongodb,Hbase,Document Database,Nosql,我一直在做一个项目,用户可以创建简单的模板并开发他的网站页面。他可以保存这些模板,并且在完成后将其放到互联网上。现在我的问题来了 当用户在模板上工作时,他可以保存已完成工作的副本,稍后再返回(类似于起草电子邮件) 通过解析模板页面,用户保存的工作当前保存在xml文件中 我正在考虑一种替代方法,将整个页面本身存储在文档数据库中,并使用唯一的用户id,这样就不需要进行任何解析,并减少了负载和时间 现在我的问题 我所想的是使用文档数据库还是nosql而不是xml 如果是,哪一个更灵活、更易于维护 我正

我一直在做一个项目,用户可以创建简单的模板并开发他的网站页面。他可以保存这些模板,并且在完成后将其放到互联网上。现在我的问题来了

  • 当用户在模板上工作时,他可以保存已完成工作的副本,稍后再返回(类似于起草电子邮件)
  • 通过解析模板页面,用户保存的工作当前保存在xml文件中
  • 我正在考虑一种替代方法,将整个页面本身存储在文档数据库中,并使用唯一的用户id,这样就不需要进行任何解析,并减少了负载和时间
  • 现在我的问题

  • 我所想的是使用文档数据库还是nosql而不是xml
  • 如果是,哪一个更灵活、更易于维护
  • 我正在使用php和mysql进行其他操作,所以我需要docDB来存储用户创建的模板的html

  • 我以前写过一个定制的CMS。我创建了一个表结构,允许我存储元数据(作者、发布日期、语言e.t.c)和内容(分别),因为我还想实现一个搜索功能,允许我分别搜索它们。我在MySql中做了我的工作,但我必须进行大量html编码以防止SQL中可能出现的攻击,因此,我建议使用NoSQL数据库(Mongo/Cassandra应该足够了)

    我以前从未真正与Mongo合作过。你也可以用卡桑德拉。我更喜欢它,因为它可以是无模式的(就像许多NoSQL数据存储一样)。因此,您可以在一行中存储数千个(如果需要)修订,以便用户可以在需要时回滚到页面的早期版本。一旦他们对当前版本感到满意,您就可以清除所有备份数据。这只是一个建议。退房或


    希望它有帮助:-)

    有什么理由不使用现有的CMS吗?最终目标是设计一个系统,用户可以创建一个完整的网站,类似于WIX,这个想法正在构建中,但当前的场景就是我所描述的。我想CMS会比存储模板更前端。如果你说像Wordpress,那么目前还没有达到这个水平,但不能说未来PYes,许多nosqldbs中的一个将很适合您。此外,我会将整个内容保存在数据库中,除非您有特定的理由需要使用传统的数据库。我曾经做过一次CMS,但从未完成。基本上,我有结构化文档(可以填写各种字段、标题、描述、正文HTML等)。然后,为了显示这些文档,所有这些都是用PHP完成的。PHP将查询Mongo,呈现文档,完成了。@Brad我只需要对html文档如何保存做一点澄清。我的意思是整个html页面本身,或者我们需要进行一些解析,以从中提取标记。我们目前采用的方法是将其保存在xml bcoz中,它允许创建自定义标记。因此,我们解析文档,获取标记并将其保存为xml文档。**请将其添加为答案,以便我可以接受并关闭该线程**。谢谢。您的问题不会让您了解太多:是的,您可以以任何数据库格式存储此内容。鉴于提供的详细信息,SQL或NoSQL与此无关,因为听起来您只是在保存HTML模板块。如果您希望在字段级别对内容进行更灵活的查询,那么文档数据库可能更适合。在SQL中,您可以使用
    TEXT
    字段来存储大块HTML(例如,MySQL的
    MEDIUMTEXT
    高达16Mb,这与MongoDB中当前的最大文档大小相同),我是否可以将用户直接存储在文档数据库中的用户模板存储在文档数据库中?我的意思是不需要执行任何解析或编码,只需获取整个页面内容并将其转储到数据库中。当用户返回编辑时,显示存储的同一页面,他可以从离开的位置开始。是:在服务器端,您可以直接按原样存储文档。不过我还是建议使用
    html\u实体
    来确保安全。还要注意的是,任何类型的存储(包括您当前使用的存储)都不会(根据我的经验)防止跨站点攻击,因为这些攻击是在客户端执行的,但我想这个问题只是为了解决存储问题。但如果你打算允许人们将HTML呈现到你的网站中,这也是一个需要密切关注的问题。