#redis #stream #consumer #producer #messages #redis-streams

redsumer

轻量级的Redis Streams for Rust实现

2个版本

0.4.1 2024年6月13日
0.4.0 2024年4月25日
0.4.0-beta.1 2024年4月24日

数据库实现中排名第117

自定义许可

38KB
655

redsumer-rs

轻量级实现Redis Streams的Rust库,让您轻松管理流消息。使用redsumer-rs,您可以

  • 生产特定中的新消息。
  • 消费特定中的消息,设置配置参数以实现灵活的实现。

有关从git获取更多依赖项选项的信息,请参阅来自《Cargo Book》3.0 Cargo参考部分。

基本用法

生产者

创建新的生产者实例

    use redsumer::*;
    
    let credentials: Option<ClientCredentials> = None;
    let host: &str = "localhost";
    let port: &str = "6379";
    let db: &str = "0";
    let stream_name: &str = "my-stream";

    let producer_result: RedsumerResult<RedsumerProducer> =
        RedsumerProducer::new(
            credentials,
            host,
            port,
            db,
            stream_name,
        );

    let producer: RedsumerProducer = producer_result.unwrap();

消费者

创建新的消费者实例

    use redsumer::*;

    let credentials: Option<ClientCredentials> = None;
    let host: &str = "localhost";
    let port: &str = "6379";
    let db: &str = "0";
    let stream_name: &str = "my-stream";
    let group_name: &str = "group-name";
    let consumer_name: &str = "consumer";
    let since_id: &str = "0-0";
    let min_idle_time_milliseconds: usize = 1000;
    let new_messages_count: usize = 3;
    let pending_messages_count: usize = 2;
    let claimed_messages_count: usize = 1;
    let block: u8 = 5;

    let consumer_result: RedsumerResult<RedsumerConsumer> = RedsumerConsumer::new(
        credentials,
        host,
        port,
        db,
        stream_name,
        group_name,
        consumer_name,
        since_id,
        min_idle_time_milliseconds,
        new_messages_count,
        pending_messages_count,
        claimed_messages_count,
        block,
    );

    let mut consumer: RedsumerConsumer = consumer_result.unwrap();

贡献

我们欢迎对redsumer-rs的贡献。以下是一些您可以贡献的方式

  • 错误报告:如果您发现错误,请创建一个问题,详细说明问题、重现步骤和预期行为。
  • 功能请求:如果您有关于新功能或现有功能改进的想法,请创建一个问题来描述您的想法。
  • 拉取请求:如果您修复了错误或实现了新功能,我们非常乐意看到您的工作!请提交拉取请求。确保您的代码遵循现有的样式,并且所有测试都通过。

感谢您对改进redsumer-rs感兴趣!

依赖项

~7–18MB
~232K SLoC