Redis2.6, menyokong skrip lua; Redis4.0, kegigihan hibrid, pemadaman tak segerak berbilang benang; 0, Function, Multi-part-AOF;
2. Mengapakah Redis selalu menggunakan single thread sebelum Redis 4.0?
1. Redis menggunakan model berbenang tunggal untuk memudahkan pembangunan dan penyelenggaraan
2 Model berbenang tunggal juga boleh mengendalikan berbilang permintaan pelanggan secara serentak melalui pemultipleksan IO dan tidak menyekat IO;
3. Untuk Redis, kesesakan prestasi utama ialah memori dan rangkaian, bukan CPU; Daripada pemprosesan IO rangkaian kepada pemprosesan perintah baca dan tulis sebenar, semuanya adalah satu-benang, tetapi berbilang-benang digunakan apabila memadam data dan data berterusan.
Kesempitan prestasi Redis terutamanya IO rangkaian Oleh itu, bermula dari Redis 6.0, berbilang benang IO digunakan untuk memproses permintaan rangkaian untuk meningkatkan keselarian pemprosesan permintaan rangkaian.
4. Benang IO akan menulis kembali ke soket dan benang utama akan mengosongkan baris gilir global
Selepas menulis balik soket, utas utama mengosongkan baris gilir global.
Pemultipleksan IO, model IO segerak, melaksanakan urutan untuk memantau berbilang pemegang fail Setelah pemegang fail sedia, ia boleh memberitahu program aplikasi untuk melaksanakan operasi baca dan tulis yang sepadan apabila tiada pemegang fail sedia , program akan memasuki keadaan menyekat dan mengeluarkan sumber CPU.
2 🎜>3. Memultipleks, memultiplekskan benang;
Pada masa ini, soket menggunakan mod tidak menyekat Keseluruhan proses hanya akan disekat apabila memilih, tinjauan pendapat dan epoll dipanggil .
Menggunakan epoll, matlamat utama adalah untuk meningkatkan daya pemprosesan pelayan.
Atas ialah kandungan terperinci Mengapa Redis memilih satu utas?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!