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 ...3.7K 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...Build 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...1 like·53 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 ...Build 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...30 readsBuild 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...28 readsBuild 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...30 readsBuild 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,...1 like·27 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...91 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...95 readsBuild a Redis Clone in RustRedis