Faisal Ahmedspaghetti-coder.com·Oct 8, 2024Building Async I/O in Rust: How Futures, Wakers, and Thread Pools Work TogetherAsynchronous I/O in Rust is a powerful technique that allows programs to perform non-blocking operations, enabling efficient multitasking and improved performance, especially in I/O-bound applications. By using the async and await keywords, Rust can ...Discuss·3.6K readsAsync Rust
Dheeraj Gopinathdheerajgopi.hashnode.dev·Sep 17, 2024Implement Transaction Support in a Redis CloneRedis transactions provide a mechanism to execute a group of commands as a single atomic operation. When a transaction is initiated, subsequent commands are queued rather than executed immediately. Once all desired commands are added to the transacti...DiscussBuild a Redis Clone in RustRust
Dheeraj Gopinathdheerajgopi.hashnode.dev·Sep 11, 2024How to Run Multiple Tokio Runtimes in a Rust ApplicationGetting started with Tokio is straightforward. By simply adding the #[tokio::main] macro to your entry point and using tokio::spawn for task management, you can quickly build an asynchronous application that handles typical use cases effectively. How...Discuss·1 like·46 readsRust
Dheeraj Gopinathdheerajgopi.hashnode.dev·Sep 9, 2024Implement List Data Type for a Redis CloneIn our ongoing series on building a Redis clone using Rust and Tokio, we've already set up a key-value storage and implemented the essential GET and SET commands. Now, it's time to introduce a more complex data structure: the LIST. Before proceeding ...DiscussBuild a Redis Clone in RustRedis
Dheeraj Gopinathdheerajgopi.hashnode.dev·Sep 2, 2024Building key-value storage for a Redis cloneIn the previous part of this series, we explored how to handle a basic PING command in our Redis clone. In this part, we will implement the Redis SET and GET commands. Additionally, we will build a simple HashMap-based storage system to support these...DiscussBuild a Redis Clone in RustRedis
Dheeraj Gopinathdheerajgopi.hashnode.dev·Aug 29, 2024Handle Redis PING commandIn our journey to build a Redis clone using Rust and Tokio, we've laid the groundwork with a TCP server, a RESP parser and Redis command parsing capability. Let's now take it forward by implementing our first real Redis command: PING. The PING comman...DiscussBuild a Redis Clone in RustRedis
Dheeraj Gopinathdheerajgopi.hashnode.dev·Aug 28, 2024Parsing Redis Commands with tokio-utilIn our ongoing series on building a Redis clone using Rust, we've covered the basics of setting up a TCP server and parsing basic RESP data types. Now, it's time to advance our project by understanding the structure of Redis commands and how to parse...DiscussBuild a Redis Clone in RustRedis
Shashank Trivedilordforever.hashnode.dev·Aug 27, 2024Floresta's Journey to TokioIntroduction In the heart of Summer of Bitcoin '24, Floresta, our lightweight Bitcoin full node implementation, is undergoing a significant transformation. This blog post details our exciting progress in migrating from the async-std runtime to Tokio,...Discuss·1 like·26 readsFloresta
Dheeraj Gopinathdheerajgopi.hashnode.dev·Aug 27, 2024Build a Bare-Bones RESP parserIn this article, we explore the basics of RESP (REdis Serialization Protocol), a protocol used by Redis for client-server communication. We begin by understanding the structure and representation of basic RESP data types, such as BulkString, SimpleSt...Discuss·81 readsBuild a Redis Clone in RustRedis
Dheeraj Gopinathdheerajgopi.hashnode.dev·Aug 24, 2024Setting Up a Simple TCP ServerIn this tutorial, you'll start the journey towards building Nimblecache (Redis clone) by first creating a simple TCP server using Tokio, a powerful asynchronous runtime for the Rust programming language. By the end of this tutorial, you will have a b...Discuss·76 readsBuild a Redis Clone in RustRedis