Bagaimana untuk menggunakan kunci yang diedarkan untuk mengawal akses serentak dalam MySQL?
Dalam sistem pangkalan data, akses serentak yang tinggi adalah masalah biasa, dan kunci yang diedarkan adalah salah satu penyelesaian yang biasa digunakan. Artikel ini akan memperkenalkan cara menggunakan kunci teragih dalam MySQL untuk mengawal akses serentak dan menyediakan contoh kod yang sepadan.
1. Prinsip
Kunci yang diedarkan boleh digunakan untuk melindungi sumber yang dikongsi untuk memastikan hanya satu utas boleh mengakses sumber pada masa yang sama. Dalam MySQL, kunci teragih boleh dilaksanakan dengan cara berikut:
lock_name
VARCHAR(64) NOT NULL,
UNIQUE KUNCI lock_name
(lock_name
)lock_table
(
id
INT NOT NULL AUTO_INCREMENT,
lock_name
VARCHAR(64) NOT NULL,
lock_holder
VARCHAR(64) DEFAULT NULL,
status
INT DEFAULT '0',
created_time
TIMESTAMP DEFAULT CURRENT_TIMESTAMP,
PRIMARY KEY (id
),
UNIQUE KEY lock_name
(lock_name
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4;
The berikut ialah contoh Kod pemerolehan kunci yang diedarkan:
lock_table_NAME WHERE = lock 'my_lock' AND status = 1;
MASUKKAN KE DALAM meja_kunci (nama_kunci, pemegang_kunci, status) NILAI ( 'my_lock', 'thread_id', 1);
Apabila urutan menyelesaikan operasi sumber kongsi, kunci yang diedarkan harus dilepaskan tepat pada masanya. Berikut ialah contoh kod untuk melepaskan kunci yang diedarkan:
WHEREROM * WHEREROM; lock_name = ' my_lock' AND lock_holder = 'thread_id';
KEMASKINI lock_table SET lock_holder = NULL, status = 0 WHERE lock_name = ' my_lock ' AND lock_holder = 'thread_id';
Apabila menggunakan kunci yang diedarkan, anda perlu memberi perhatian kepada perkara berikut:
Artikel ini memperkenalkan cara menggunakan kunci teragih untuk mengawal akses serentak dalam MySQL dan menyediakan contoh kod yang sepadan. Kunci teragih ialah cara yang biasa digunakan untuk menyelesaikan masalah akses serentak yang tinggi, tetapi langkah berjaga-jaga perlu diambil apabila menggunakannya untuk mengelakkan urus niaga yang lama dan kebuntuan. Dalam persekitaran yang diedarkan, pengurusan kunci dan penjadualan juga perlu dipertimbangkan.
Atas ialah kandungan terperinci Bagaimana untuk menggunakan kunci yang diedarkan untuk mengawal akses serentak dalam MySQL?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!