Skip to content

My best practices for operating Redis stream with redis template in Spring Boot 2.x. Stream @SInCE Redis 5.0.0

License

Notifications You must be signed in to change notification settings

tanpenggood-best-practices/spring-boot-redis-stream

Repository files navigation

Spring Boot Redis Stream

My best practices for operating Redis stream with redis template in Spring Boot 2.x

Feature

  • Verify FullName(stream + group + consumer_name) not blank and duplicate, when register Listener
  • com.itplh.best.practices.stream.MyStreamListener add the following extensions:
    1. getStream()
    2. getGroup()
    3. getConsumerName()
    4. getFullName()
    5. getFullGroup()
  • Abstract class com.itplh.best.practices.stream.AbstractAutoRetryStreamListener
    1. Automatically enable the failed retry mechanism, when the stream is single consume group
      1. default maximum retry count: 10
      2. customize the override of the 'maxRetries' method
    2. Support successful callback onSuccess
    3. Support failure callback (reaching the max retries) onFailure
    4. Support finally callback onFinally

Development Environment

  • Java 1.8
  • Redis 5.0.10
  • Spring Boot 2.3.4.RELEASE
  • spring-boot-starter-data-redis 2.3.4.RELEASE
  • Jackson 2.11.2
  • Lombok 1.18.12

Sample

  1. Run com.itplh.best.practices.Application
  2. push data to stream
    curl --location --request GET 'http://localhost:8080/redis/stream/push-data?stream=stream_test1'

Docs

Redis Stream - Best Practices

Should XDEL be executed after XACK ?

About

My best practices for operating Redis stream with redis template in Spring Boot 2.x. Stream @SInCE Redis 5.0.0

Topics

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages