【问题标题】:What is the easiest way to store and query data without using a database?在不使用数据库的情况下存储和查询数据的最简单方法是什么?
【发布时间】:2014-03-25 21:35:21
【问题描述】:

我对 ASP.Net MVC 还很陌生,这就是为什么我可以使用一些方向。

我正在为未使用数据库的客户端构建站点。

我有几个(约 20 个)YouTube 视频想要嵌入。客户不再制作这些视频,并且此列表不会经常更新。我为视频和信息创建了一个模板视图。我想设置一个可以从数据集中查询 youtube 视频的模型。

我最初的想法是创建一个 JSON 文件,以及一个模型类来查询信息。这是实现这一目标的最佳方式吗?

【问题讨论】:

  • 使用应用程序设置。
  • 有时普通的旧 HTML 仍然可以完成这项工作
  • json 对我来说听起来不错,但我想知道你会运行什么样的查询。您可能会发现静态 html(可能使用 google 自定义搜索引擎)与此处的数据驱动程序一样好或更好。
  • 为什么?我想弄清楚为什么你不只是使用带有页面模板的现成 CMS,他们可以将 youtube 视频位置插入其中?似乎这条路线会更好。

标签: c# asp.net asp.net-mvc asp.net-mvc-4


【解决方案1】:

JSON 对我来说似乎是个好主意。总共只有大约 20 条记录,您已经接近了数据驱动甚至没有意义的地步:只有 20 个带有共享 css 的静态页面和用于查询的谷歌自定义搜索引擎。但是,我仍然倾向于尽可能依赖数据源,为此我喜欢 JSON。

JSON 在这里可以很好地工作,因为您可以使用将被大多数浏览器缓存的 *.js 文件,并且您可以对数据执行搜索,甚至无需刷新页面。特别是如果您使用像 Knockout 或 Ember 这样的模板系统,您可以让它完全是一个客户端应用程序:没有服务器代码。从用户的角度来看,这样的应用程序会非常快,尤其是如果您将 cdn 用于模板引擎,那么许多用户在第一次加载时就已经将其缓存了。

【讨论】:

    【解决方案2】:

    您可以使用 XML 文档来存储结构化数据、加载它并使用 XPath 查询它(注意 XPath 注入漏洞)。或者使用相同的 XML 反序列化成数据模型并使用 LINQ 进行查询。

    (B/w,到目前为止,这不是唯一的选择 - 只是立即想到的一个半)

    【讨论】:

      【解决方案3】:

      我会将数据放入我喜欢的格式(个人也是 json)的平面文本文件中,然后将其反序列化为对象列表并在其上使用 LINQ 查询。考虑到有问题的数据量很少,即使我可以选择,我也会使用平面文件来支持数据库。

      您还可以使用 resx 文件作为项目的一部分或 cmets 中建议的内置设置。不管你怎么做,数据量都足够小,你不妨把它读到内存中的一个集合中,然后查询那个集合。

      【讨论】:

        【解决方案4】:

        由于不需要经常更新,一个简单的方法是在用于生成链接的代码中创建一个硬编码列表。如果您希望将来能够在不修改代码的情况下更新链接,那么 XML 或 JSON 可能是您最好的选择。

        【讨论】:

          猜你喜欢
          • 2011-01-15
          • 2015-08-19
          • 2020-10-20
          • 2015-11-26
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          相关资源
          最近更新 更多