Snippets
Tập hợp các đoạn code ngắn, dùng lại được mà mình hay cần đến.
Redis distributed lock (acquire)
Giành khóa nguyên tử với token duy nhất và tự hết hạn để tránh deadlock.
# NX = set only if absent, PX = expiry in ms
SET lock:order:42 "$RANDOM_TOKEN" NX PX 30000Redis safe unlock (Lua, compare-and-delete)
Chỉ nhả khóa nếu vẫn đang sở hữu — tránh xóa nhầm khóa của người khác.
if redis.call("get", KEYS[1]) == ARGV[1] then
return redis.call("del", KEYS[1])
else
return 0
endBảng tra cứu cron expression
Năm trường lần lượt là: phút, giờ, ngày trong tháng, tháng, thứ trong tuần.
* * * * * every minute
0 * * * * every hour
0 0 * * * every day at 00:00
0 9 * * 1-5 weekdays at 09:00
0 0 1 * * first day of every monthCOUNT(*) và COUNT(1)
Với trình tối ưu chúng giống hệt nhau. Nên dùng COUNT(*) — đó là cách viết chuẩn.
-- same plan, same performance
SELECT COUNT(*) FROM orders WHERE status = 'paid';Upsert idempotent (PostgreSQL)
Chèn hoặc cập nhật khi trùng — chạy lại an toàn mà không tạo bản ghi trùng.
INSERT INTO accounts (id, balance)
VALUES ($1, $2)
ON CONFLICT (id) DO UPDATE
SET balance = EXCLUDED.balance;Graceful shutdown (Spring Boot)
Để các request đang xử lý hoàn tất trước khi tiến trình thoát.
server.shutdown=graceful
spring.lifecycle.timeout-per-shutdown-phase=30s