【问题标题】:storing data and access it [closed]存储数据并访问它[关闭]
【发布时间】:2011-04-18 21:05:53
【问题描述】:

什么是存储数据的最佳方式和最快的访问方式,即免费且不需要安装额外的东西?

【问题讨论】:

  • 那是什么语言?你在说什么样的数据。你想将数据存储在内存中还是什么?你真的应该更仔细地考虑这个问题。你到底想做什么?
  • 听起来您想要与文本文件相关的精细功能。我们这里有一个不错的 2005 型号,带有升级的旅行装饰 =D
  • “best”和“fastest”很少兼容。
  • 我们在谈论多少数据?如果免费且无需安装任何东西是绝对的,那么我会在下面建议 Adrian 的答案并查看 XML。如果您正在查看大量数据,可以使用免费数据库,但它们确实需要安装。
  • 我将在这里扮演魔鬼的拥护者:我的回答很好,这取决于你想做什么。如果您正在寻找自包含文件、设计可导出、人类和机器可读/可写的文件,并且您不打算处理其中的 10 万个对象,那么您应该使用 XML。如果没有,你应该看看@Otavio Decio 的建议,即 SQLite。

标签: c# .net c++ c visual-studio-2010


【解决方案1】:

使用sqlite

【讨论】:

  • 我试过firebird,有没有类似的?
【解决方案2】:

XML。看here。请记住,通过使用 XML,您可以获得一个机器结构的人类可读文件。

更新

由于这对 OP 来说显然看起来很新,这里有一些链接:

关于 XML:

关于从 C#.NET 访问 XML

【讨论】:

  • XML 与 Google ProtoBuf 和 JSON 相比非常慢。仅供参考(不投反对票)。
  • 我从未尝试过 XML,这是否有任何特殊的内置格式,如 rtf 或 docx ?
  • 是的,确实如此。但是.Net 提供了对它的本地访问。看看here。您将在这里学习 XML 的基础知识。
  • 所以这就像 html 或 php,我知道。所以基本上我也可以将数据存储在 html 中,或者?
  • 是的,它有点像 HTML,但不是。您定义一个文档结构,然后遵循它。 HTML 是关于展览的。 XML 是关于数据的。 PHP 是另外一回事。告诉你什么:慢慢来,阅读更多关于 XML 的内容。关于我们在这里写的所有内容。我们只是指导,但您必须找到答案。 ;)
【解决方案3】:

如果语言是 C,您可以使用 structsfread()fwrite() 将数据保存到单个“数据库”文件中。这不是最兼容的方式,但它肯定很快。而且它不需要安装任何额外的东西。

【讨论】:

  • 您会推荐哪种数据库文件类型?
  • 你可以为你的数据集制作你自己的数据库格式。这当然是最有效的方法。使用 SQLite 更简单、更便携。
【解决方案4】:

StreamReader 读取文件 http://msdn.microsoft.com/en-us/library/system.io.streamreader.aspx

StreamWriter写文件 http://msdn.microsoft.com/en-us/library/system.io.streamwriter.aspx

它们都是 .NET 框架中包含的类。

【讨论】:

  • 嗯,我想这很快,但它是最快的方式吗?
  • 它消除了所有与 XMLDocument 解析等相关的开销。它并没有比直接告诉计算机从磁盘写入或读取快多少
【解决方案5】:

我建议SQL Server Compact Edition - 它是免费的,基于文件的,不需要额外安装,这也为您提供了一个不错的升级路径,因为它还支持实体框架。

【讨论】:

    【解决方案6】:

    如果您需要关系数据库,请在 Sqlite 数据库周围使用 System.Data.Sqlite ADO.Net 包装器。将 DLL 放入您的项目中,您将获得一个免费、快速、单文件的 SQL 数据库。

    如果您只需要一个键值存储,则在 ESENT 托管接口中使用 Persistent Dictionary

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2012-09-28
      • 1970-01-01
      • 2015-01-05
      • 2016-07-13
      • 1970-01-01
      相关资源
      最近更新 更多