Mysql
 sql >> Teknologi Basis Data >  >> RDS >> Mysql

Cara terbaik untuk menyimpan Pengaturan Aplikasi PHP?

Untuk satu, kecil, situs sederhana, saya baru saja meletakkan konfigurasi dalam file PHP. Tetap sederhana. PHP mungkin tidak mem-parsing apa pun lebih cepat daripada mem-parsing PHP. Jika Anda menggunakan APC, bytecode yang dikompilasi bahkan di-cache -- meskipun bytecode tersebut kemudian dieksekusi ulang untuk setiap permintaan. Untuk file konfigurasi kecil, eksekusi bytecode ini akan memakan waktu sangat sedikit; untuk file yang sangat besar, mungkin perlu waktu lebih lama.

Untuk situs dengan lalu lintas tinggi dengan konfigurasi besar, menyimpan data konfigurasi di APC (misalnya sebagai larik tunggal) adalah ide yang bagus -- setidaknya, Anda menghemat biaya untuk mengeksekusi pernyataan dalam file config.php Anda. Khususnya, facebook melakukan ini. Saat Anda melayani banyak permintaan per detik, menekan disk untuk membaca file konfigurasi (menggunakan parse_ini_file, parser XML, dll.) pada setiap permintaan tidak mungkin dilakukan.

Untuk proyek saya saat ini, kami meng-host banyak situs, masing-masing dengan konfigurasinya sendiri. Setiap situs memiliki database dan file konfigurasi; namun, memastikan Anda selalu menggunakan file konfigurasi yang tepat dengan database yang tepat dapat membuat Anda pusing. Selain itu, perubahan akan memerlukan perubahan di dua tempat -- db dan konfigurasi. Melupakan satu atau yang lain selalu menyebabkan masalah, dan itu terlalu sering terjadi.

Kami memindahkan konfigurasi ke dalam database, sehingga Anda tidak mungkin dapat memisahkan db dari konfigurasi yang benar, dan setiap perubahan kode hanya memerlukan pembaruan database. Data dari tabel konfigurasi juga di-cache secara agresif di APC, jadi kami jarang menanyakannya.

Jadi, untuk rekap:

  1. Situs kecil :cukup gunakan file config.php
  2. Situs yang sangat besar :cache di APC
  3. Beberapa situs :simpan konfigurasi di database untuk mengurangi biaya administrasi; cache di APC untuk mengurangi hit basis data


  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Peringatan:mysqli_stmt::bind_param():Jumlah variabel tidak cocok dengan jumlah parameter dalam pernyataan yang disiapkan

  2. Apakah MySQL mengabaikan nilai nol pada batasan unik?

  3. Tips untuk Memberikan Kinerja Database MySQL - Bagian Kedua

  4. Muat ulang data MySQL di dalam DIV menggunakan Ajax

  5. Kesalahan MySQL/Amazon RDS:Anda tidak memiliki hak SUPER...