Redis TTL

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]
jhgu