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

Persistensi koneksi PHP MySQL

Persistensi dilakukan oleh salinan PHP yang tertanam di server web. Biasanya Anda akan benar- jika PHP berjalan dalam mode CGI, tidak mungkin untuk memiliki koneksi yang persisten, karena tidak akan ada yang tersisa untuk bertahan saat permintaan selesai dan PHP dimatikan.

Namun, karena ada salinan PHP yang disematkan di server web, dan server web itu sendiri terus berjalan di antara permintaan, dimungkinkan untuk mempertahankan kumpulan koneksi persisten dalam PHP "permanen" tersebut.

Namun, perhatikan bahwa pada model server tipe multi-pekerja Apache, kumpulan koneksi dipertahankan PER-CHILD. Jika Anda menetapkan batas kumpulan ke 10, Anda akan memiliki 10 koneksi per anak Apache. 20 anak =200 koneksi.

Koneksi yang terus-menerus juga akan menyebabkan masalah jangka panjang dengan kebuntuan dan masalah lain yang sulit di-debug. Ingat - tidak ada jaminan bahwa permintaan HTTP pengguna akan dilayani oleh koneksi anak/mysql Apache yang SAMA. Jika skrip mati di tengah-tengah transaksi basis data, transaksi itu TIDAK digulung kembali, karena MySQL tidak melihat sisi HTTP - semua yang dilihatnya adalah koneksi mysql<->apache masih terbuka dan menganggap semuanya baik-baik saja.

Pengguna berikutnya yang menekan kombinasi Apache/mysql anak/koneksi tertentu sekarang akan secara ajaib berakhir di tengah-tengah transaksi itu, tanpa petunjuk bahwa transaksi tersebut terbuka. Pada dasarnya, ini setara dengan Web dari toilet yang tidak disiram - semua "sampah" dari pengguna sebelumnya masih ada di sana.

Dengan koneksi non-persisten, Anda dijamin memiliki lingkungan yang 'bersih' setiap kali Anda terhubung.



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Bagaimana cara memilih seluruh baris yang memiliki ID terbesar dalam tabel?

  2. Saya perlu auto_increment bidang di MySQL yang bukan kunci utama

  3. Pemicu di mysql menyebabkan kesalahan

  4. Pada impor MySQL:ERROR pada baris 32769:Perintah tidak dikenal '\''

  5. Apakah mungkin mysqli_insert_id mengembalikan id yang salah dalam aplikasi lalu lintas tinggi?