rusty-redis 0.1.0

RustyRedis is a Redis written in Rust
# RustyRedis

RustyRedis is a Redis written in Rust, including a Redis client and a Redis server.

## Features

- Supports common Redis data structures such as strings, hash tables, lists, etc

- Provides a complete set of Redis commands, including GET, SET, HGET, HSET, LPUSH, LPOP, etc

- Implements client-server communication over TCP using an efficient networking library

- Codebase is clean, readable, and maintainable

## Installation

Make sure you have Rust programming language and Cargo package manager installed. Execute the following commands in the terminal to install:

```shell
cargo install rusty-redis
```

## Usage

**NOTICE: RustyRedis is still under active development and will soon be available.**

### Running the Redis Server

To run RustyRedis as a Redis server, execute the following command:

```shell
rusty-redis-server
```

The server will listen for client connections on the default port 6379. You can also specify a different port number using command-line arguments.

### Running the Redis Client

To connect to the Redis server using the RustyRedis client, execute the following command:

```shell
rusty-redis-client
```

The client will prompt you to enter commands and display the command execution results.

### API Example

RustyRedis provides a simple and easy-to-use API that you can directly use in your Rust projects. Here's a simple example:

```rust
use rusty_redis::client::RedisClient;

fn main() {
    let mut client = RedisClient::new("127.0.0.1", 6379).unwrap();

    // Set key-value pair
    client.set("name", "John").unwrap();

    // Get value by key
    let name: Option<String> = client.get("name").unwrap();
    println!("Name: {:?}", name);

    // Execute Redis command
    let response: String = client.command("PING").unwrap();
    println!("Response: {}", response);
}
```

For more information on API usage, please refer to the API documentation.

## Contributing

Contributions to RustyRedis are welcome! If you have any suggestions or questions, please open an issue or pull request on GitHub.

## License

RustyRedis is distributed under the MIT License. Please refer to the [LICENSE](https://github.com/sunray-ley/rusty-redis/blob/main/LICENSE) file for more information.