[Redis] Keyspace Notifications

김기진·2022년 12월 17일
0

Redis Keyspace Notifications 이란?


redis.conf notify-keyspace-events 설정을 통해

redis 데이터 셋 변경 이벤트를 채널에 publish 하게 할 수 있다.

redis pub/sub 기능 기반으로 동작 한다.

notify-keyspace-events 옵션


  • K: Keyspace notificaton 켜기 (키 기반 이벤트 notification 켜기)

  • E: Keyevent notificaton 켜기 (명령어 기반 이벤트 notification 켜기)

  • g: Generic commands (non-type specific) like DEL, EXPIRE, RENAME, ...

  • $: String commands

  • l: List commands

  • s: Set commands

  • h: Hash commands

  • z: Sorted set commands

  • t: Stream commands

  • x: Expired events (events generated every time a key expires)

  • e: Evicted events (events generated when a key is evicted for maxmemory)

  • A: Alias for g$lshztxe, so that the "AKE" string means all the events.


최소 K 또는 E 는 지정해 줘야지 Redis 데이터 셋 변경 이벤트를 subscribe 할 수 있다.

ex)

“KH” ⇒ 해시 데이터 타입에 대한 Keyspace notificaton 켜기

“KEA” ⇒ 모든 데이터 타입에 대한  Keyspace notificaton, Keyevent notificaton 켜기

“kx” ⇒ Expired events 에 대한  Keyspace notificaton, 켜기

Redis Keyspace Notifications 사용 방법


  1. redis cli 접속
  2. redis.conf 설정"config" "set" "notify-keyspace-events" "AKE"
  3. 패턴 구독 "psubscribe" "**keyspace@0*:"

Redis Keyspace Notifications subscribe 하기


  • 키 기반 이벤트 구독
    • psubscribe **keyspace@0:[패턴]**
  • 명령어 기반 이벤트 구독
    • psubscribe **keyevent@0** [패턴]
profile
back-end-developer

0개의 댓글