개요
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/