Giter Club home page Giter Club logo

spring-boot-redis-stream's Introduction

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 ?

spring-boot-redis-stream's People

Contributors

tanpenggood avatar

Stargazers

 avatar  avatar

Forkers

hai0801

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.