【问题标题】:Where to save a single value on server在服务器上保存单个值的位置
【发布时间】:2016-09-20 05:41:23
【问题描述】:

我正在使用 html 页面上的单击调用按钮创建一个应用程序。

会有一个人接听电话。我希望这个人能够在我的服务器上设置一个布尔值的变量:1 可用,0 不可用。

我可以创建一个单字段 SQL 表,但这感觉有点过头了,或者我可以读写一个只包含一个字符的文本文件。

存储单个值最正确的方法是什么?

【问题讨论】:

  • 没有正确的方法。实施取决于您的特定(我们不知道)要求。如果文本文件对您来说似乎是最简单的选择,那就这样做

标签: php mysql server


【解决方案1】:

如果您设置了数据库,我会使用它。

这就是数据库的用途,持久化可变数据。否则你基本上是为了一个设置而编写自己的独立数据库系统,这在我眼里是超级杀戮!

一致性和灵活性很重要。如果我突然需要存储预期返回时间怎么办?如何在文本文件中执行此操作,如何区分列?我如何操作数据? MySQL 已经为您解答了所有这些问题。

作为团队成员,我希望我的大多数开发同事(和新员工)都知道如何使用 MySQL。我不希望他们不得不使用、扩展或调试单独的定制文件持久性我已经添加的系统。

如果您担心有很多单行表,您可以使用单个表来存储需要定期更新的杂项奇异配置变量。

我们有一张这样的表:

Table: `setting` 
Columns: `key_string` VARCHAR, `value` VARCHAR

并且可以将您的变量存储为

['key_string' => 'telephone_service_available', 'value' => '1']

【讨论】:

  • 感谢您的回答。关于团队合作和理解标准做事方式而不是定制解决方案的解释很有用。
【解决方案2】:

在这种特定情况下,简单的文件检查(是否存在文件)可能是您可以在这里执行的最简单的方法。并且它还具有轻松检查文件是否存在的好处,您不必读取文件内容。 但是,如果您只需要更多信息,则必须采用完全不同的方式。

【讨论】:

    【解决方案3】:

    取决于您之后尝试如何处理这些信息。 如果您在 Web 应用程序中使用它,请将其存储在会话中。

    或者尝试像 SQLite 这样的平面文件数据库(不需要活动的 DBMS)。它很简单,你可以很容易地扩展它。

    或者只是创建文件的双极性信息。如果文件不存在则关闭。

    【讨论】:

    • 会话变量在这里真的没有用,我真的不建议在没有充分理由的情况下添加另一个单独的数据库。
    • 我没有读到他需要这个变量的方式,我也没有读到他已经有一个数据库。
    • 公平地说,他可能还没有设置数据库。但很明显,操作电话的人不仅仅是让自己知道他们不可用。
    【解决方案4】:

    我知道为此使用小型数据库表似乎有点过头了。

    如果您的应用程序已经使用了数据库,那么这是目前最好的方法。您的数据库技术为存储数据提供了各种支持,因此不会丢失。但是,不要建立一个数据库并组织您的应用程序以将其仅用于这一数据点;在这种情况下,文件会更容易。

    (WordPress 做了类似的事情;它使用一个名为 wp_options 的表,其中包含许多一次性设置值。)

    我建议您的表格包含两列(或者更多),agent_idavailable。然后,如果您碰巧添加了另一个接听电话的人,您的应用程序将准备好应对这种增长。你现在的人可以有agent_id = 0。

    【讨论】:

    • 我会选择这个答案,因为:
    • 我已经有一个 mySQL 数据库,我会选择这个答案,因为: 1. 文件可能在服务器上被移动或删除,而 mySQL 表不是通过 FTP 访问的,所以有我(或其他人)不小心整理它的可能性较小,2. 对 WordPress 架构的引用给出了答案的可信度(据我所知,WordPress 工作得非常好,是成千上万聪明人工作的结果)和我将来可能还有其他一次性值要存储,3. 可扩展性,即使是非常小的规模,也可能有用。
    • 没错。如果 WordPress 做某事,那肯定可以很好地完成这项工作。
    猜你喜欢
    • 1970-01-01
    • 2016-08-20
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-03-27
    • 2017-02-14
    • 2013-06-03
    相关资源
    最近更新 更多