
Arc<Mutex<T>>.Arc<Mutex<T>> isn't just syntax; it's a way of thinking. It forces you to be explicit about shared ownership and controlled mutation, which felt like a superpower once it clicked.async/await and tokio::spawn are a powerful combination. It allows you to write concurrent code that looks almost sequential, making complex network logic much easier to reason about.match just felt so much cleaner. It eliminated entire classes of bugs and made my application logic type-safe and easy to follow.HashMap to a file. I braced myself for a lot of manual serialization code, but serde made it feel like magic.#[derive] serialization is a massive productivity boost.Result<T, E> forces you to handle potential failures. Initially, this felt verbose compared to exceptions, but it quickly made my code far more resilient.? operator and Result types create a clear "happy path" while making sure you never forget to handle the error cases. It's a fundamental shift that leads to more reliable software.GET it. If it's expired, it's removed at that moment.storage.rs: Manages data in memory.
- commands.rs: Defines and parses commands.
- main.rs: Handles the TCP server and coordinates the other modules.redis-cli to talk to IronCache would be the next big win. Got any other interesting ideas for a new project? Let me know in the comments!Posted Jun 18, 2025
Developed IronCache, a Redis-like database in Rust to learn systems programming.
0
1
Jun 8, 2025 - Jun 14, 2025