Mysql
 sql >> база данни >  >> RDS >> Mysql

Най-добрият начин да съхранявате настройките на приложението PHP?

За един, малък и прост сайт, просто бих поставил config в PHP файл. Не го усложнявай. PHP вероятно не анализира нищо по-бързо, отколкото анализира PHP. Ако използвате APC, компилираният байткод дори се кешира - въпреки че след това байткодът се изпълнява повторно за всяка заявка. За малък конфигурационен файл изпълнението на този байткод трябва да отнеме много малко време; за много голям файл може да отнеме малко повече време.

За сайтове с голям трафик с големи конфигурации, кеширането на вашите конфигурационни данни в APC (например като единичен масив) е добра идея – най-малкото спестявате режийните разходи за действително изпълнение изявленията във вашия файл config.php. По-специално, facebook прави това. Когато обслужвате много заявки в секунда, натискането на диска за четене на конфигурационен файл (използвайки parse_ini_file, XML анализатор и т.н.) при всяка заявка е изключено.

За настоящия ми проект ние хостваме много сайтове, всеки със собствена конфигурация. Всеки сайт имаше както база данни, така и конфигурационен файл; обаче, да се уверите, че винаги използвате правилния конфигурационен файл с правилната база данни, може да се превърне в главоболие. Освен това промените ще изискват промяна на нещата на две места - db и конфигурацията. Забравянето на едното или другото винаги причиняваше проблеми и това се случваше твърде често.

Преместихме конфигурацията в базата данни, така че да не можете да отделите db от правилната й конфигурация и всякакви промени в кода изискват само актуализиране на базата данни. Данните от конфигурационната таблица също се кешират агресивно в APC, така че ние ги правим рядко.

И така, за да обобщим:

  1. Малък сайт :просто използвайте файл config.php
  2. Много голям сайт :кеш в APC
  3. Няколко сайта :съхраняване на конфигурацията в базата данни за намаляване на административните разходи; кеш в APC за намаляване на посещенията в базата данни


  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. EXTRACT() Примери – MySQL

  2. Как правилно да завъртите в съхранена функция на MySQL?

  3. Laravel има много релации, брой харесвания и коментари за публикация

  4. Обединяване и сортиране на две Eloquent колекции?

  5. Резервиране на mySQL автоматично увеличени идентификатори?