Set thời gian hết hạn
chúng ta có thể đặt thời gian hết hạn cho một key hiện có bằng lệnh expire , lấy tên của key và số giây cho đến khi hết hạn làm đối số. Để chứng minh điều này, hãy chạy hai lệnh sau. Đầu tiên tạo một key chuỗi có tên key_melon với giá trị là cantaloupe và key thứ hai đặt nó hết hạn sau 450 giây:
> set key_melon "cantaloupe"
> expire key_melon 450
Nếu thời gian chờ được đặt thành công, lệnh expire sẽ trả về (integer) 1 . Nếu không đặt được thời gian chờ, thay vào đó nó sẽ trả về (integer) 0.
Ngoài ra, chúng ta có thể đặt key hết hạn tại một thời điểm cụ thể bằng lệnh expireat . Thay vì số giây trước khi hết hạn, nó lấy dấu thời gian Unix làm đối số. Dấu thời gian Unix là số giây kể từ kỷ nguyên Unix , hoặc 00:00:00 UTC vào ngày 1 tháng 1 năm 1970. Có một số công cụ trực tuyến mà chúng ta có thể sử dụng để tìm dấu thời gian Unix của một ngày và giờ cụ thể, chẳng hạn như EpochConverter hoặc UnixTimestamp.com .
Ví dụ: để đặt key_melon ra hết hạn lúc 8:30 tối GMT ngày 1 tháng 5 năm 2025 (được biểu thị bằng dấu thời gian Unix 1746131400 ), chúng ta có thể sử dụng lệnh sau:
> expireat key_melon 1746131400
Lưu ý nếu dấu thời gian chúng ta vượt qua để expireat đã xảy ra, nó sẽ xóa key ngay lập tức.
Kiểm tra thời gian hết hạn của một key
Bất kỳ lúc nào chúng ta đặt key hết hạn, chúng ta có thể kiểm tra thời gian còn lại cho đến khi hết hạn (tính bằng giây) bằng ttl , viết tắt của time to live:
> ttl key_melon
Output
(integer) 433
Để biết thêm thông tin chi tiết, chúng ta có thể chạy pttl , thay vào đó sẽ trả về lượng thời gian cho đến khi key hết hạn tính bằng mili giây:
> pttl key_melon
Output
(integer) 431506
Cả ttl và pttl sẽ trả về (integer) -1 nếu key chưa được đặt thành hết hạn và (integer) -2 nếu key không tồn tại.
Hủy set thời gian hết hạn của một key
Nếu một key đã được đặt thành hết hạn, bất kỳ lệnh nào overrides lên nội dung của key – như set hoặc getset – sẽ xóa giá trị thời gian chờ của key. Để xóa thủ công thời gian chờ của key, hãy sử dụng lệnh persist :
> persist key_melon
Lệnh persist sẽ trả về (integer) 1 nếu nó hoàn thành , cho biết rằng key sẽ không còn hết hạn.
Nguồn:
Nguồn: viblo.asia