Database

[Redis] 키 만료 시간 설정

비번변경 2024. 11. 26. 14:23

개요

2023.06.03-[Python] redis 사용하기에서 redis에 값을 추가하고 값을 가져오는 방법을 알아보았다. 그리고 최근 redis에서는 값의 만료 시간을 설정할 수 있다는 것을 알게 되었다.

방법을 적어둔다.

 

 

SET

redis에 값을 설정하는 SET 명령을 사용할 때 만료 시간을 설정할 수 있는데, 그 옵션은 아래와 같다.

  • EX : 초 단위 만료 시간 설정. 지정한 초 이후에 삭제된다.
  • PX : 밀리 초 단위 만료 시간 설정. 지정한 밀리 초 이후에 삭제된다.
  • EXAT : 만료 Unix 시각 설정. 초 단위로 설정하고, 해당 시각 이후에 삭제된다.
  • PXAT : 만료  Unix 시각 설정. 밀리 초 단위로 설정하고. 해당 시각 이후에 삭제된다.

참고로 EX 옵션은 SETEX 명령으로, PX 옵션은 PSETEX 명령으로 옵션 지정 없이 사용할 수 있다.

 

보통 초 단위 설정인 EX를 많이 사용할 것 같아, 이 글에서도 EX 옵션에 대해서만 테스트해 보겠다.

 

 

테스트

아래와 같이 만료 시간을 30초로 주어 값을 설정했다.

SET test_key "test" EX 30

GET 명령어로 값에 접근할 수 있고, TTL 명령어를 통해 남은 만료 시간을 확인할 수 있다. 사진은 만료까지 23초가 남았음을 알 수 있다.

만약 키가 만료된 경우 TTL 명령 사용 시 -2라는 값을 반환한다. -2는 키가 존재하지 않음을 의미한다.

그리고 값에 접근하면 결측값을 확인할 수 있다.

 

 

참고 문서

https://redis.io/docs/latest/commands/set/

https://redis.io/docs/latest/commands/setex/

https://redis.io/docs/latest/commands/ttl/