10 releases

0.3.3 Apr 13, 2024
0.3.2 Mar 30, 2024
0.2.1 Mar 4, 2024
0.2.0 Feb 5, 2024
0.1.3 Jan 13, 2024

#508 in Database interfaces

Download history 10/week @ 2024-01-30 7/week @ 2024-02-06 2/week @ 2024-02-20 165/week @ 2024-02-27 38/week @ 2024-03-05 5/week @ 2024-03-12 137/week @ 2024-03-19 216/week @ 2024-03-26 43/week @ 2024-04-02 156/week @ 2024-04-09 12/week @ 2024-04-16

168 downloads per month

MIT license



Some tools for reading and writing RESP streams.

Crates.io Docs Build Status


To use respite, add this to your Cargo.toml:

respite = "*"

Next, add this to your crate:

use respite::{RespReader, RespWriter, RespVersion};


Abstractions for reading the RESP protocol.

You can read a RESP stream in several ways. Which one is appropriate depends on your goals.


With RespReader::frame, you can read each individual frame from a RESP stream and decide what to do with it. This allows you to process streams without buffering.


RespReader::requests will pass each component of a Redis-style request to a closure you provide. This allows for easily sending each argument over a channel to another task.


You can also use RespReader::value, which will buffer values and return a whole tree of frames for arrays, maps, sets, etc. This is primarily meant for testing purposes, but could also be useful in cases where performance isn't super important.


~79K SLoC