Tag: concurrency Cơ bản
Nội dung này là bản nháp và sẽ không được đưa vào các phiên bản thật.
12 bài viết được gắn tag concurrency:
- Advisory lock: khoá theo key nghiệp vụ khi không có row để khoá
- Các anomaly khi nhiều transaction cùng đọc và ghi, và cách chữa từng loại
- Distributed lock với Redis: lock hết hạn khi chủ còn chạy thì sao?
- Ghép cặp: chọn lock hay isolation cho từng tình huống
- NOWAIT và SKIP LOCKED: chia job cho nhiều worker
- Optimistic hay pessimistic locking: chọn theo xung đột và think time
- Pipelining, MULTI/EXEC và Lua: khi nào chuỗi lệnh Redis thật sự nguyên tử?
- Redis single-threaded nghĩa là gì khi có I/O threads?
- Row-level locks trong PostgreSQL: FOR UPDATE, FOR NO KEY UPDATE và cách tránh đặt trùng
- Tình huống: flash sale bán vượt kho
- Upsert với ON CONFLICT: "chưa có thì thêm, có rồi thì sửa" mà không lỗi 23505
- Viết transaction trong code: giữ dữ liệu đúng khi nhiều request chạy cùng lúc