【问题标题】:json or mysql for config which is faster?json 或 mysql 配置哪个更快?
【发布时间】:2014-04-28 04:59:16
【问题描述】:

我需要为一个网站存储大约 100 个设置。我可以将其保存为数据库中的一行,也可以将其保存为 JSON 文件,并在设置中读取每一页并在设置更改时更新文件。或者我可以通过 db 调用将其读入页面。哪个是首选方法?我正在尝试最大限度地提高性能。

****编辑 这是一个标准的网站。一个主页和大约 10 个其他页面。关于,联系,等等,等等,等等。每个页面都有相同的信息/主题设置将使用。此信息可以由网站所有者更新。下面是配置,例如... 有一天,所有者决定更改页脚的颜色。他将进行更改,并写入color_footer 键以保存更改。

这是一个示例配置文件。这似乎太少了,无法进行 db 调用。想法?

$GLOBALS = array(
"theme" => array(
    "color_scheme" => "#429a44",
    "color_body" => "#ffffff",
    "color_nav" => "#333333",
    "color_footer" => "#333333",
    "page_width_front" => "max-width: 100%;",
    "page_width_inner" => "max-width: 1024px;",
    "font_color_scheme" => "#ffffff",
    "font_color_body" => "#ffffff",
    "font_color_nav" => "#ffffff",
    "font_body" => "font-family: 'Francois One', sans-serif;",
    "font_nav" => "font-family: 'Open Sans', sans-serif;",
    "font_body_size" => "font-size: 15px;",
    "font_nav_size" => "font-size: 25px;",
    "slider_width" => "max-width: 1024px; margin: auto;",
    "slider_interval" => "5000"
),
"social_links" => array(
    "facebook" => "",
    "twitter" => "",
    "instagram" => "",
    "youtube" => "",
    "flickr" => "",
    "pinterest" => "",
    "google-plus" => "",
    "foursquare" => "",
    "linkedin" => "",
    "tumbler" => "",
    "vimeo" => ""
),

);

【问题讨论】:

    标签: mysql json config


    【解决方案1】:

    如果你的数据有一个简单的表格结构并且它是相同的,那么关系模型可能就足够了,但是如果你的数据结构太复杂并且有多个级别,那么你必须使用 nosql 或 JSON 结构存储您的数据。 您必须记住的另一件事是您将存储的数据量。 RDBMS 案例中的行数,因为在一定限度内,RDBMS 的执行速度会比几乎所有 NoSQL 都快,但随着数据的增长,从 Cassandra 或 Mongo 这样的 NoSQL 获取将比从 mysql 获取更快。

    【讨论】:

      【解决方案2】:

      首先要确认: 整个网站是否只有 1 个设置配置文件(其中约 100 个设置)? 还是网站中每个页面的 1 个设置配置文件(其中约 100 个设置)?

      如果只有 1 个配置文件: (1)对于存储,我认为磁盘上的DB或JSON文件都可以; (2)但是你提到每个页面访问都会读取配置文件,如果访问频率很高, 您应该将配置文件保存在内存中(只是一个对象,从 JSON 字符串转换而来)。 并且记得在更新时写回 DB/Disk。

      如果每个页面有 1 个配置文件:

      为了访问性能,可以尝试采用一些缓存产品(如Redis)

      实际上我对您的设计感到困惑。 为什么要保留这样的设置?

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2015-08-22
        • 2010-10-09
        • 2012-05-27
        • 1970-01-01
        • 2011-12-10
        相关资源
        最近更新 更多