redis-protocol.rs
redis-rs
Our great sponsors
- Onboard AI - Learn any GitHub repo in 59 seconds
- InfluxDB - Collect and Analyze Billions of Data Points in Real Time
- SaaSHub - Software Alternatives and Reviews
redis-protocol.rs | redis-rs | |
---|---|---|
2 | 14 | |
24 | 3,231 | |
- | 1.8% | |
0.0 | 8.8 | |
about 2 months ago | 6 days ago | |
Rust | Rust | |
Apache License 2.0 | GNU General Public License v3.0 or later |
Stars - the number of stars that a project has on GitHub. Growth - month over month growth in stars.
Activity is a relative number indicating how actively a project is being developed. Recent commits have higher weight than older ones.
For example, an activity of 9.0 indicates that a project is amongst the top 10% of the most actively developed projects that we are tracking.
redis-protocol.rs
-
Redust: a new Redis client
For what it's worth - here's a library I use in my redis client for parsing RESP2 and RESP3. It does not use serde but does use nom, and it has an optional feature that can decode `BytesMut` without moving or copying the buffer contents as long as you're willing to use the `Bytes` ecosystem types.
-
Fred v3.0.0
The latest version is a complete rewrite on async/await, tokio 1.x, the latest redis-protocol, etc. It has fundamentally different design goals compared to the popular redis-rs library and is more opinionated in its dependencies, specifically regarding tokio vs async-std, so it's probably not the right choice for certain use cases as a result. Redis-rs works well, but when we originally adopted Rust at Azuqua we had different design concerns for our Redis client and this library naturally grew in a different direction as a result.
redis-rs
-
Meet Fred: The most awesome Redis client for Rust.
The goto Redis client for Rust is called redis-rs. It has over 3k stars on Github. but I found it very annoying to use because I quickly found out that if you want to set any value you had to get a mutable reference to the underlying client. Which meant great pain to store Redis client in the global scope. People who do not know what a mutable reference is consider the let keyword in JavaScript. you can mutate or change a variable that is initiated with let.
-
[I made this] – staticPi – websocket forwarder
staticpi, is a websocket forwarding service. Basically, it enables one to keep a Raspberry pi, or any computer, “connected”, in order to send and receive messages to and from any client, without having to deal with a static IP address, open ports on your router, or similar. Built in Rust, using axum, which in turn uses tungestine-rs for the websocket connections, tokio, sqlx, redis-rs and others.
-
A Rust client library for interacting with Microsoft Airsim https://github.com/Sollimann/airsim-client
redis (use streams and pubsub)
-
Redust: a new Redis client
Are you addressing the long-standing issue that the redis client has related to dropped connections?
redis: by far the most popular and definitely the most ergonomic library. However, I was frustrated by its pubsub support; while generally acceptable, it's impossible to perform subscription operations while consuming messages. I like the library, but the workarounds to this issue were unacceptable to me.
-
Chumsky, a parser combinator crate that makes writing error-tolerant parsers with recovery easy and fun!
I switched to LALRPOP for gluon but I still use combine in https://github.com/mitsuhiko/redis-rs and some other projects which need to parse "protocols" (less need for good error messages/error recovery and more need for speed).
-
Getting started with MongoDB and Redis in Rust
The project is implemented with MongoDB Rust driver and redis-rs crate.
-
Redis Streams in Action - Part 2 (Rust app to consume from the Twitter Streaming API)
redis-rs, a Rust library for Redis with both high and low-level APIs
-
What are some examples of particularly well written crates?
I think the redis crate was a well-organized API library. It's still sometimes hard to know the right things to make public and I think they nailed it.
- Trying to utilize sqlx with postgresql and expecting performance on par with jdbc 😀. How do you guys do prepared statement, arg/param setting, batch insertions etc? The documentation doesn’t take me anywhere near that.
What are some alternatives?
tikv - Distributed transactional key-value database, originally created to complement TiDB
r2d2 - A generic connection pool for Rust
PickleDB - PickleDB-rs is a lightweight and simple key-value store. It is a Rust version for Python's PickleDB
sled - the champagne of beta embedded databases
MeiliSearch - A lightning-fast search engine that fits effortlessly into your apps, websites, and workflow.
rust-embed - Rust Macro which loads files into the rust binary at compile time during release and loads the file from the fs during dev.
Gibbs MySQL Spyglass - Gibbs MySQL Spyglass
Rustlings - :crab: Small exercises to get you used to reading and writing Rust code!
sqlx - 🧰 The Rust SQL Toolkit. An async, pure Rust SQL crate featuring compile-time checked queries without a DSL. Supports PostgreSQL, MySQL, SQLite, and MSSQL.
chumsky - Write expressive, high-performance parsers with ease.
ariadne - A fancy diagnostics & error reporting crate
Rust Client for KairosDB - Rust client for KairosDB