TTL (Time To Live)
데이터의 유효 기간을 나타내기 위한 방법이다. 데이터에 만료 시간을 주어 지정한 시간 이후 데이터를 제거하게 된다.
SETEX
레디스에서는 SETEX
명령어를 통해 키에 만료 시간을 부여할 수 있다.
1 | $ setex [key] [seconds] [value] |
나는 특정 키에 만료 시간을 주고, 고 루틴을 통해 만료 이벤트를 받아 특정 로직을 수행하는 방식으로 이를 활용하고 있다.
redis-cli pubsub
redis-cli 통해 expired_event
수신을 확인해 볼 수 있다. 터미널을 두 개 띄우고 아래처럼 해보면 된다.
터미널 1
1
$ subscribe channel: __keyevent@0__:expired
터미널 2
1
$ setex [key] [seconds] [value]