Practice Assessment for Exam AZ-204: Developing Solutions for Microsoft Azure – 015
3 mins read

Practice Assessment for Exam AZ-204: Developing Solutions for Microsoft Azure – 015



✅ Phân tích đáp án câu hỏi

📌 Dịch câu hỏi:

Bạn cần thiết lập thời gian tồn tại là 10 giây (duration of 10 seconds) cho một khóa được lưu trong Azure Cache for Redis.

Câu hỏi:

Bạn nên sử dụng đoạn mã nào?


🔍 Các lựa chọn:

Đoạn mãCó phù hợp không?Giải thích
db.StringSetAsync("test:key", "10");❌ KhôngĐoạn mã này không cung cấp giá trị hết hạn (expiry value) – vì vậy khóa sẽ tồn tại mãi mãi (hoặc đến khi bị ghi đè), không đúng với yêu cầu đề bài là chỉ tồn tại 10 giây.
db.StringSetAsync("test:key", "10", TimeSpan.FromSeconds(10));ĐúngPhương thức StringSetAsync nhận tham số thứ ba là thời gian sống (time-to-live) dưới dạng TimeSpan. TimeSpan.FromSeconds(10) đúng cú pháp và chính xác với yêu cầu.
db.StringSetAsync("test:key", "10", DateTime.UtcNow.AddSeconds(10));❌ KhôngRedis không chấp nhận kiểu DateTime làm tham số expiry. Nó chỉ chấp nhận kiểu TimeSpan.
db.StringSetAsync("test:key", "10", DateTime.Now.AddSeconds(10));❌ KhôngTương tự như trên, DateTime.Now vẫn là kiểu DateTime, không hợp lệ – và còn dễ gây lỗi do lệch múi giờ.

📘 Bổ sung từ tài liệu chính thức

Câu hỏi này kiểm tra kiến thức của thí sinh về triển khai cơ chế bộ nhớ đệm (implementing caching).

Đoạn mã sử dụng TimeSpan.FromSeconds(10) sẽ thiết lập thời gian sống (time to live) của một khóa là 10 giây.

Để thiết lập thời gian sống cho một khóa, tham số expiry (tham số thứ ba trong phương thức StringSet) cần phải được xác định.

Tham số expiry này phải được truyền vào dưới dạng TimeSpan, không phải DateTime.

🔗 Nguồn tài liệu:


✅ Kết luận:

Đáp án chính xác:
db.StringSetAsync("test:key", "10", TimeSpan.FromSeconds(10));

🔐 Lý do:

  • Phương thức StringSetAsync yêu cầu tham số thời gian sống (TTL) ở dạng TimeSpan.
  • Các giá trị kiểu DateTime (cả NowUtcNow) không được Redis chấp nhận trong trường hợp này.

Leave a Reply

Your email address will not be published. Required fields are marked *