<NME> README.md
<BEF> # StackExchange.Redis.Extensions
StackExchange.Redis.Extensions is a library that extend [StackExchange.Redis](https://github.com/StackExchange/StackExchange.Redis) allowing you a set of functionality needed by common applications.

## What can it be used for?
Caching of course. Instead of use directly [StackExchange.Redis](https://github.com/StackExchange/StackExchange.Redis) could be easier use ``ÌCacheClient```

- Here the list of the most asked features:
- Add and retrieve complex object from and to Redis;
- Store and retrieve multiple object with a single request;
- Pub/Sub events;
- Support to Hash methods (https://redis.io/commands/hset);
- Sort methods (https://redis.io/commands/sort);
- List methods (https://redis.io/commands/lpush);
- Support for multiple database;
- Search Keys into Redis;
- Retrieve Redis Server information;
- Async methods;
- Connection pooling;
- Auto purge connections;
- SetPop;
- Profiling Session Provider;



[Documentation](doc/README.md) is composed of articles and guidance detailing how to get the most out of StackExchange.Redis.Extensions



### Release

```

To specify the connection string is enough to add it into AppSetting in your config files (use **RedisConnectionString** as key) or specify your ``ConnectionMultiplexer``` instance into the constructor.


## Serialization
| Nuget (Core)             | [![NuGet Status](http://img.shields.io/nuget/v/StackExchange.Redis.Extensions.Core.svg?style=flat)](https://www.nuget.org/packages/StackExchange.Redis.Extensions.Core/) |
| Nuget (Json.NET)         | [![NuGet Status](http://img.shields.io/nuget/v/StackExchange.Redis.Extensions.Newtonsoft.svg?style=flat)](https://www.nuget.org/packages/StackExchange.Redis.Extensions.Newtonsoft/) |
| Nuget (MsgPack)          | [![NuGet Status](http://img.shields.io/nuget/v/StackExchange.Redis.Extensions.MsgPack.svg?style=flat)](https://www.nuget.org/packages/StackExchange.Redis.Extensions.MsgPack/) |
| Nuget (Protobuf)         | [![NuGet Status](http://img.shields.io/nuget/v/StackExchange.Redis.Extensions.Protobuf.svg?style=flat)](https://www.nuget.org/packages/StackExchange.Redis.Extensions.Protobuf/) |
| Nuget (UTF8Json)         | [![NuGet Status](http://img.shields.io/nuget/v/StackExchange.Redis.Extensions.Utf8Json.svg?style=flat)](https://www.nuget.org/packages/StackExchange.Redis.Extensions.Utf8Json/) |
| Nuget (System.Text.Json) | [![NuGet Status](http://img.shields.io/nuget/v/StackExchange.Redis.Extensions.System.Text.Json.svg?style=flat)](https://www.nuget.org/packages/StackExchange.Redis.Extensions.System.Text.Json/) |



### Q&A

For questions or issues do not hesitate to [raise an issue](https://github.com/imperugo/StackExchange.Redis.Extensions/issues/new/choose) or [get in touch](https://twitter.com/imperugo).

### Contributing

Thanks to all the people who already contributed!

<a href="https://github.com/imperugo/StackExchange.Redis.Extensions/graphs/contributors">
  <img src="https://contributors-img.web.app/image?repo=imperugo/StackExchange.Redis.Extensions" />
</a>

### License
StackExchange.Redis is Copyright ©  [Ugo Lattanzi](https://www.linkedin.com/in/imperugo/) and other contributors under the MIT license.

## Can I search keys into Redis?
Yes that's possible using a specific pattern.
If you want to search all keys that starts with ```myCacheKey```:

```csharp
var keys = myCacheClient.SearchKeys("myCacheKey*");
```

If you want to search all keys that contains with ```myCacheKey```:

```csharp
var keys = myCacheClient.SearchKeys("*myCacheKey*");

<MSG> readme.md

<DFF> @@ -1,5 +1,5 @@
 # StackExchange.Redis.Extensions
-StackExchange.Redis.Extensions is a library that extend [StackExchange.Redis](https://github.com/StackExchange/StackExchange.Redis) allowing you a set of functionality needed by common applications.
+StackExchange.Redis.Extensions is a library that extends [StackExchange.Redis](https://github.com/StackExchange/StackExchange.Redis) allowing you a set of functionality needed by common applications.
 
 ## What can it be used for?
 Caching of course. Instead of use directly [StackExchange.Redis](https://github.com/StackExchange/StackExchange.Redis) could be easier use ``ÌCacheClient```
@@ -30,7 +30,7 @@ var cacheClient = new StackExchangeRedisCacheClient();
 
 ```
 
-To specify the connection string is enough to add it into AppSetting in your config files (use **RedisConnectionString** as key) or specify your ``ConnectionMultiplexer``` instance into the constructor.
+To specify the connection string it's enough to add it into AppSetting in your config files (use **RedisConnectionString** as key) or specify your ``ConnectionMultiplexer``` instance into the constructor.
 
 
 ## Serialization
@@ -74,13 +74,13 @@ var cachedUsers = myCacheClient.GetAll<User>(new {"key1","key2","key3"});
 
 ## Can I search keys into Redis?
 Yes that's possible using a specific pattern.
-If you want to search all keys that starts with ```myCacheKey```:
+If you want to search all keys that start with ```myCacheKey```:
 
 ```csharp
 var keys = myCacheClient.SearchKeys("myCacheKey*");
 ```
 
-If you want to search all keys that contains with ```myCacheKey```:
+If you want to search all keys that contain with ```myCacheKey```:
 
 ```csharp
 var keys = myCacheClient.SearchKeys("*myCacheKey*");

readme.md