Không, điều này là không thể (và cũng không được lên kế hoạch). Cách tiếp cận được đề xuất là sử dụng một tập hợp có thứ tự với số điểm được đặt thành dấu thời gian và sau đó xóa thủ công các khóa đã hết hạn. Để truy vấn các khóa chưa hết hạn, bạn có thể sử dụng ZRANGEBYSCORE $now +inf
, để xóa các khóa đã hết hạn, hãy ZREMRANGEBYSCORE -inf $now
sẽ thực hiện thủ thuật.
Trong ứng dụng của tôi, tôi chỉ cần đưa ra cả hai lệnh mỗi khi tôi truy vấn tập hợp. Tôi cũng kết hợp điều này với thời gian hết hạn (dài) trên chính bộ đó để cuối cùng xóa các bộ không sử dụng.
Bài viết này sẽ trình bày chi tiết hơn.