json或mysql for config哪个更快?

时间:2014-03-21 01:12:17

标签: mysql json config

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

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

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

$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" => ""
),

);

2 个答案:

答案 0 :(得分:1)

如果您的数据具有简单的表格结构并且它将是相同的,那么关系模型可能就足够了,但是如果您的数据结构太复杂且具有多个级别,那么您必须使用nosql或JSON结构存储您的数据。 您必须记住的另一件事是您要存储的数据量。在RDBMS情况下的行数,因为达到一定的限制,RDBMS将比几乎所有的NoSQL执行得更快,但是当你的数据gorws时,从像Cassandra或Mongo这样的NoSQL获取将比从mysql获取更快。

答案 1 :(得分:1)

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

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

如果每页有1个个人资料:

  

对于访问权限,您可以尝试采用一些缓存产品(例如Redis)

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