Redis với Python: cache để tăng tốc ứng dụng
Truy vấn database mất 200ms và lặp lại hàng nghìn lần mỗi phút với cùng một kết quả. Redis lưu kết quả đó trong RAM và trả về trong chưa tới 1ms.
Kết nối
pip in…
Truy vấn database mất 200ms và lặp lại hàng nghìn lần mỗi phút với cùng một kết quả. Redis lưu kết quả đó trong RAM và trả về trong chưa tới 1ms.
Kết nối
pip in…
Người dùng bấm “Đăng ký” và phải chờ 8 giây vì hệ thống đang gửi email. Giải pháp: trả lời ngay, còn việc gửi email đẩy sang hàng đợi cho worker xử lý. Đó chính…
pip và requirements.txt vẫn chạy tốt, nhưng chúng không khóa được phiên bản phụ thuộc gián tiếp và không quản lý môi trường ảo giúp bạn. Poetry và uv sinh ra để…
Bạn viết một script hữu ích và muốn đồng nghiệp dùng được. Thay vì bắt họ sửa biến trong file, hãy biến nó thành lệnh CLI. Typer làm việc đó chỉ từ type hints.…
Hàm của bạn gọi API thật thì test sẽ chậm, phụ thuộc mạng và có thể tốn tiền. Mocking cho phép thay thành phần bên ngoài bằng một bản giả có hành vi do bạn quy…
Quy tắc số một của tối ưu: đừng đoán. Lập trình viên gần như luôn đoán sai chỗ nào chậm. Hãy đo, rồi mới sửa.
Đo một đoạn nhỏ với timeit
import timeit
timeit.t…
Viết thẳng mật khẩu database vào file .py rồi đẩy lên GitHub là một trong những lỗi tốn kém nhất mà lập trình viên mắc phải. Cách đúng là tách cấu hình ra khỏi…
Python có hai cách chạy song song, và chọn sai thì chương trình không những không nhanh hơn mà còn chậm đi. Điều quyết định nằm ở một thứ tên là GIL.
GIL là gì…
Gọi 50 API, mỗi lần chờ 1 giây — chạy tuần tự mất 50 giây, nhưng thực ra CPU chỉ ngồi chờ. asyncio cho phép chờ đồng thời, rút xuống còn hơn 1 giây.
Hàm bất đồn…