Bagaimana skrip Lua memblokir seluruh server Redis? [duplikat]
Misalkan saya menjalankan instance Redis dan saya memiliki dua klien A dan B yang terhubung dengannya. Saya menjalankan skrip LUA operasi hanya baca dari salah satunya dan dari yang lain operasi hash hanya baca dengan menggunakan template Redis di Java. Karena semua operasi di Redis memblokir, saya berasumsi bahwa jika skrip LUA dikeluarkan terlebih dahulu, klien lain harus menunggu hingga operasi skrip Lua selesai. Dengan cara yang sama, jika operasi hash dikeluarkan terlebih dahulu, operasi skrip Lua harus menunggu hingga operasi hash selesai. Apakah ini pernyataan yang valid? bagaimana Redis menangani panggilan dari berbagai sumber jika itu berulir tunggal?
Jawaban
Redis memiliki Even Loop internal yang menjalankan satu event di thread utama setiap kali untuk lebih jelasnya lihat:
- https://redis.io/topics/internals-rediseventlib
- http://nosqlgeek.blogspot.com/2019/10/so-what-exactly-is-event-loop.html