<commit_before># redis-rs

Redis-rs isaa high level redis library for rust.  I provides convenient access
to all redis functionality through a very flexible but low-level API.  It
uses a customizable type conversion trait so that any operation can return
results in just the type you are expecting.  This makes for a very pleasant
development experience.

The crate is called `redis` and you can depend on it via cargo:

```ini
[dependencies.redis]
git = "https://github.com/mitsuhiko/redis-rs.git"
```

Documentation on the library can be found at
[mitsuhiko.github.io/redis-rs](http://mitsuhiko.github.io/redis-rs/redis/).

## Basic Operation

To open a connection you need to create a client and then to fetch a
connection from it.  In the future there will be a connection pool for
those, currently each connection is separate and not pooled.

Queries are then performed through the `execute` and `query` methods.

```rust,no_run
extern crate redis;

fn main() {
    let client = redis::Client::open("redis://127.0.0.1/").unwrap();
    let con = client.get_connection().unwrap();
    redis::cmd("SET").arg("my_key").arg(42i).execute(&con);
    assert_eq!(redis::cmd("GET").arg("my_key").query(&con), Ok(42i));
}
```

## Development

If you want to develop on the library there are a few commands provided
by the makefile:
<commit_msg>Removed no_run from the readme<commit_after># redis-rs

Redis-rs isaa high level redis library for rust.  I provides convenient access
to all redis functionality through a very flexible but low-level API.  It
uses a customizable type conversion trait so that any operation can return
results in just the type you are expecting.  This makes for a very pleasant
development experience.

The crate is called `redis` and you can depend on it via cargo:

```ini
[dependencies.redis]
git = "https://github.com/mitsuhiko/redis-rs.git"
```

Documentation on the library can be found at
[mitsuhiko.github.io/redis-rs](http://mitsuhiko.github.io/redis-rs/redis/).

## Basic Operation

To open a connection you need to create a client and then to fetch a
connection from it.  In the future there will be a connection pool for
those, currently each connection is separate and not pooled.

Queries are then performed through the `execute` and `query` methods.

```rust
extern crate redis;

fn main() {
    let client = redis::Client::open("redis://127.0.0.1/").unwrap();
    let con = client.get_connection().unwrap();
    redis::cmd("SET").arg("my_key").arg(42i).execute(&con);
    assert_eq!(redis::cmd("GET").arg("my_key").query(&con), Ok(42i));
}
```

## Development

If you want to develop on the library there are a few commands provided
by the makefile:

{'fraction_non_alphanumeric': 0.10833953834698436, 'fraction_numerical': 0.007446016381236039, 'mean_word_length': 4.384769539078157, 'pattern_counts': {'":': 0, '<': 3, '<?xml version=': 0, '>': 3, 'https://': 2, 'lorem ipsum': 0, 'www.': 0, 'xml': 0}, 'pii_count': 2, 'substrings_counts': 0, 'word_list_counts': {'cursed_substrings.json': 2, 'profanity_word_list.json': 0, 'sexual_word_list.json': 0, 'zh_pornsignals.json': 0}}
{'dir': 'git-commits-cleaned', 'id': '2381034', 'n_tokens_mistral': 827, 'n_tokens_neox': 798, 'n_words': 328}