Dalam PHP, memori dikongsi ialah cara yang berkesan untuk berkongsi dan memindahkan data antara dua proses yang sedang berjalan dalam mesin yang sama. Kaedah ini membenarkan dua proses yang tidak berkaitan untuk mengakses memori logik yang sama.
Persekitaran pengendalian tutorial ini: sistem Windows 10, PHP versi 7.1, komputer DELL G3
Memori dikongsi ialah cara yang berkesan untuk berkongsi dan memindahkan data antara dua proses yang sedang berjalan dalam mesin yang sama Memori yang dikongsi antara proses yang berbeza biasanya disusun sebagai segmen memori fizikal yang sama; name suggests , shared memory membenarkan dua proses yang tidak berkaitan untuk mengakses memori logik yang sama.
Sesuatu proses boleh mencipta segmen memori yang boleh diakses oleh proses lain, selagi ia diberikan kebenaran yang betul. Setiap segmen memori mempunyai ID unik (dipanggil shmid) yang menunjuk ke kawasan memori fizikal di mana proses lain boleh beroperasi padanya. Setelah dibuat dan diberikan kebenaran yang sesuai, proses lain pada mesin yang sama boleh beroperasi pada segmen memori ini: baca, tulis dan padam Jika proses menulis data ke memori kongsi, perubahan akan terjejas serta-merta segmen memori kongsi yang sama.
Ini menunjukkan bahawa aplikasi yang ditulis dalam C boleh berkongsi maklumat dengan aplikasi yang ditulis dalam bahasa lain, seperti Java atau PHP. Memori dikongsi digunakan secara meluas dalam pelaksanaan untuk kebanyakan bahasa, jadi akses tidak seharusnya menjadi masalah. Untuk memahami maklumat, kami boleh menggunakan format standard seperti XML atau JSON.
Penggunaan memori kongsi ialah cara pantas untuk menukar data antara proses, terutamanya kerana data dihantar selepas segmen memori dicipta, tanpa melibatkan kernel. Kaedah ini sering dipanggil komunikasi antara proses (IPC). Kaedah IPC lain termasuk paip, baris gilir mesej, RPC dan soket. Keupayaan untuk bertukar-tukar data dengan cepat dan boleh dipercayai antara aplikasi ini berguna apabila bekerja dengan ekosistem aplikasi yang perlu berkomunikasi antara satu sama lain. Bergantung pada saiz ekosistem, kaedah biasa menggunakan pangkalan data untuk bertukar-tukar maklumat antara aplikasi selalunya boleh mengakibatkan pertanyaan yang perlahan atau bahkan penyekatan I/O. Dengan memori yang dikongsi, tiada I/O untuk memperlahankan kemajuan pembangun.
Memori kongsi tidak menyediakan mekanisme penyegerakan, iaitu tiada mekanisme automatik untuk menghalang proses kedua daripada mula membacanya sebelum proses pertama selesai menulis ke memori bersama. Oleh itu, kita biasanya perlu menggunakan mekanisme lain untuk menyegerakkan akses kepada memori yang dikongsi.
Cadangan artikel ini sangat mudah, pelajari cara menggunakan PHP untuk mencipta dan memanipulasi segmen memori yang dikongsi dan menggunakannya untuk menyimpan set data yang boleh digunakan oleh aplikasi lain. Walaupun tidak ada rancangan untuk menggunakan memori yang dikongsi untuk menukar data, ia mempunyai banyak faedah dengan sendirinya kerana ia membolehkan aplikasi menjauhkan diri daripada masalah I/O. Menyimpan set data terus dalam ingatan mempunyai banyak kelebihan, daripada caching data perkhidmatan web kepada perkongsian sesi. Ia adalah konsep yang sangat berguna yang perlu diketahui oleh setiap pembangun PHP.
Kebaikan dan keburukan menggunakan memori kongsi1 Kelebihan: Kita dapat melihat bahawa menggunakan memori dikongsi untuk komunikasi antara proses adalah sangat mudah, dan antara muka fungsi Ia juga mudah. Perkongsian data juga menghapuskan keperluan untuk memindahkan data antara proses, tetapi mengakses memori secara langsung, yang juga mempercepatkan kecekapan program. Pada masa yang sama, ia tidak memerlukan hubungan ibu bapa-anak tertentu antara proses berkomunikasi seperti paip tanpa nama.
2. Kelemahan: Memori dikongsi tidak menyediakan mekanisme penyegerakan, yang menyebabkan kita sering perlu menggunakan cara lain untuk menyegerakkan proses antara proses apabila menggunakan memori dikongsi untuk komunikasi antara proses.
Kami boleh menggunakan memori dikongsi sebagai pilihan storan unik yang memberikan kelebihan seperti operasi baca/tulis pantas dan kebolehoperasian proses. Untuk aplikasi web, ini bermakna:
Storan cache (pertanyaan pangkalan data, data perkhidmatan web, data luaran)
Storan sesi
Pertukaran data antara aplikasi
Teknologi storan ini bukan sahaja berguna untuk caching, tetapi juga untuk bertukar-tukar data antara aplikasi, selagi data disimpan dalam format yang boleh dibaca oleh kedua-dua hujungnya. Jangan memandang rendah kuasa memori yang dikongsi dalam aplikasi web. Terdapat banyak cara yang berbeza untuk melaksanakan storan ini dengan bijak, satu-satunya had ialah kreativiti dan kemahiran pembangun.
Pembelajaran yang disyorkan: "
Tutorial Video PHPAtas ialah kandungan terperinci Apakah maksud memori dikongsi dalam php. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!