2014-12-06 52 views
1

我工作的地方,圖像屬於特定類別的網站形象的meta描述較好,這是用於存儲類,PHP的VAR或MySQL數據庫

有70多個類別類型/名稱(即書,樹木,人,手錶,汽車,手機等),並且在不久的將來將接近大約80-90個類別,並且每個類別都具有元描述,元關鍵詞,特定於該類別的標題。

我的問題是我應該在哪裏存儲這些數據?

    使用3-4種陣列的PHP
  1. ,然後使用數組查找到 查找並顯示特定於該目錄中的元數據?

例如

$meta_description = array('books' => 'books meta description', 'trees' => 'trees meta description') 

,然後做

if(isset($meta_description[$_GET['category']])){ 
echo $meta_description[$_GET['category']]); 
} 

在MySQL數據庫表,然後做在每個頁面加載 MySQL查詢用於獲取元描述
  • ,標題數據從數據庫?
  • 例如

    +------------+--------------+------+-----+---------+----------------+ 
    | Field  | Type   | Null | Key | Default | Extra   | 
    +------------+--------------+------+-----+---------+----------------+ 
    | cat_name | varchar(50) | NO | MUL |   |    | 
    | title  | varchar(100) | NO |  | NULL |    | 
    | metakw  | varchar(100) | NO |  | NULL |    | 
    | metadesc | varchar(100) | NO |  | NULL |    | 
    | record_num | tinyint(2) | NO | PRI | NULL | auto_increment | 
    +------------+--------------+------+-----+---------+----------------+ 
    

    ,然後讓使用上的每個頁面加載MySQL查詢信息。

    我期待的高性能,因爲有超過20萬條記錄在主表和現在已經有很多的MySQL查詢被解僱每一秒,所以我lloking降低MySQL的負擔。

    回答

    1

    好的做法是保持儘可能多的緩存,因此沒有。 1是更好的選擇(只要類別不必由用戶配置)。不過,如果你需要使它可配置的,那麼你應該保留在數據庫中,並使用Memcached的,即http://www.memcached.org/

    +0

    類是固定的緩存它。並且不能由用戶配置。是的,memcached的使用是我計劃實現的下一步移動,如果我使用選項1,將不會使php使用更多內存? – AMB 2014-12-06 18:39:32

    +0

    那麼毫無疑問,解決方案1號是更好的選擇。 – 2014-12-06 18:40:13

    +0

    那麼,它是硬編碼的,那麼他將需要編輯每個類別更改的php文件,或者如果他添加一個新的。更好的做法是使用MySQL表,然後緩存數據,只要文件沒有更新爲序列化或json數組。 – 2014-12-06 18:43:00

    相關問題