|
| 1 | +StackExchange.Redis |
| 2 | +=================== |
| 3 | + |
| 4 | +StackExchange.Redis is a high performance general purpose redis client for .NET languages (C# etc). It is the logical successor to [BookSleeve](https://code.google.com/archive/p/booksleeve/), |
| 5 | +and is the client developed-by (and used-by) [Stack Exchange](http://stackexchange.com/) for busy sites like [Stack Overflow](http://stackoverflow.com/). For the full reasons |
| 6 | +why this library was created (i.e. "What about BookSleeve?") [please see here](http://marcgravell.blogspot.com/2014/03/so-i-went-and-wrote-another-redis-client.html). |
| 7 | + |
| 8 | +Features |
| 9 | +-- |
| 10 | + |
| 11 | +- High performance multiplexed design, allowing for efficient use of shared connections from multiple calling threads |
| 12 | +- Abstraction over redis node configuration: the client can silently negotiate multiple redis servers for robustness and availability |
| 13 | +- Convenient access to the full redis feature-set |
| 14 | +- Full dual programming model both synchronous and asynchronous usage, without requiring "sync over async" usage of the [TPL][1] |
| 15 | +- Support for redis "cluster" |
| 16 | + |
| 17 | +Installation |
| 18 | +--- |
| 19 | + |
| 20 | +StackExchange.Redis can be installed via the nuget UI (as [StackExchange.Redis](https://www.nuget.org/packages/StackExchange.Redis/)), or via the nuget package manager console: |
| 21 | + |
| 22 | +```PowerShell |
| 23 | +PM> Install-Package StackExchange.Redis |
| 24 | +``` |
| 25 | + |
| 26 | +If you require a strong-named package (because your project is strong-named), then you may wish to use instead: |
| 27 | + |
| 28 | +```PowerShell |
| 29 | +PM> Install-Package StackExchange.Redis.StrongName |
| 30 | +``` |
| 31 | + |
| 32 | +([for further reading, see here](http://blog.marcgravell.com/2014/06/snk-we-need-to-talk.html)) |
| 33 | + |
| 34 | +Documentation |
| 35 | +--- |
| 36 | + |
| 37 | +- [Basic Usage](https://github.com/StackExchange/StackExchange.Redis/blob/master/Docs/Basics.md) - getting started and basic usage |
| 38 | +- [Configuration](https://github.com/StackExchange/StackExchange.Redis/blob/master/Docs/Configuration.md) - options available when connecting to redis |
| 39 | +- [Pipelines and Multiplexers](https://github.com/StackExchange/StackExchange.Redis/blob/master/Docs/PipelinesMultiplexers.md) - what is a multiplexer? |
| 40 | +- [Keys, Values and Channels](https://github.com/StackExchange/StackExchange.Redis/blob/master/Docs/KeysValues.md) - discusses the data-types used on the API |
| 41 | +- [Transactions](https://github.com/StackExchange/StackExchange.Redis/blob/master/Docs/Transactions.md) - how atomic transactions work in redis |
| 42 | +- [Events](https://github.com/StackExchange/StackExchange.Redis/blob/master/Docs/Events.md) - the events available for logging / information purposes |
| 43 | +- [Pub/Sub Message Order](https://github.com/StackExchange/StackExchange.Redis/blob/master/Docs/PubSubOrder.md) - advice on sequential and concurrent processing |
| 44 | +- [Where are `KEYS` / `SCAN` / `FLUSH*`?](https://github.com/StackExchange/StackExchange.Redis/blob/master/Docs/KeysScan.md) - how to use server-based commands |
| 45 | +- [Profiling](https://github.com/StackExchange/StackExchange.Redis/blob/master/Docs/Profiling.md) - profiling interfaces, as well as how to profile in an `async` world |
| 46 | +- [Scripting](https://github.com/StackExchange/StackExchange.Redis/blob/master/Docs/Scripting.md) - running Lua scripts with convenient named parameter replacement |
| 47 | + |
| 48 | +Questions and Contributions |
| 49 | +--- |
| 50 | + |
| 51 | +If you think you have found a bug or have a feature request, please [report an issue][2], or if appropriate: submit a pull request. If you have a question, feel free to [contact me](https://github.com/mgravell). |
| 52 | + |
| 53 | + [1]: http://msdn.microsoft.com/en-us/library/dd460717%28v=vs.110%29.aspx |
| 54 | + [2]: https://github.com/StackExchange/StackExchange.Redis/issues?state=open |
0 commit comments