- Proper C# 4 mono build support (http://stackoverflow.com/questions/8181081/error-framework-netframework-4-0-client-profile-not-installed-for-monodevel)
- Redis version detection mechanism (INFO?).
- Untangle connection management from the client so we could do something like IOCP using a connection that's shared between clients. (one pipelined connection for normal commands, another for pub/sub etc.)
- Better clients pool interface.
- More Redis protocol conformance tests (correct arguments/correct return values/correct command spelling).
- Full audit for 3.0 support
- Rebuilt on Windows due to package corruption issue with OS X NuGet. (ZIP archive contains unsupported data structures.) (@NareshBanala)
- INFO parsing fix. (@NareshBanala)
TrackedThreadwisePoolthat can be
- NEW Support for
- FIXED wrong Executor mode after RESET (@cincauhangus)
RedisClient.Modeproperty so client can test for the current mode. (@cincauhangus)
- Remove leftover "RESET" debug printout (@johanhelsing)
- ZUnionStore missing number of keys (@robertaves - issue #10)
- ReadBulk never returns null (@robertaves - issue #10)
- Removed forgotten Debug println. (@robertaves - issue #10)
- Fix for BLPOP and BRPOP wrong argument ordering (issue #5 by @paulduran)
- Update nuget.
- Update project files to VS2012 format.
- Now versioning semantically (http://semver.org/) (adding the "v" and a revision number)
- Backward-compatible variadic write overloads (returning
SADD, HDEL, SREM, ZREM, ZADD, LPUSHand
RPUSH. Available in Redis 2.4+.
- Some methods were missing from the IRedisClient interface. It's now there.
- Fix issue #1 reported by @rjlopes, ZScore now returns
nullis returned when an element does not exists in the sorted set.
RedisSettings.Build(). The old method is still there but
- You can now configure clients via the
ThreadwisePoolconstructor using lambda notation just like
BLPOP\BRPOPoverloads that matches with redis docs.
RedisSettings.EncodingOverrideto change string encodings used.
RedisSettings.Builder.ConnectionTimeoutfor overriding internal socket connection timeout to help deal with socket timeout better.
AutoActivatingPoolwhich activates client and disposes it immediately when the thread exits. This helps greatly with redis timeout issues in high-load environment.
- Complete API support for Redis 2.2 (if I left out any, please let me know)
- Bug fixes
- You can now configure redis settings via the RedisClient constructor directly using lambdas.
- MULTI/EXEC support.
- PUBLISH/SUBSCRIBE support via
- INFO/SLAVEOF/MONITOR support.
- Complex arguments support for
SORT... other commands coming soon.
- Refactored in a multi-mode Executor model for cleaner code and better future extensibility/optimization support (IOCP?)
.Custom()for introducing your own custom command and read/write action. i.e. a command we've not yet to support.
- Improved exception handling. Now defaults to always retry until connects to deal with timeouts from Redis side and never throw exceptions.
- RedisSettings can now be copied with
- ThreadwisePool.BuildClient is now
protected virtualso you can override it to roll your own
- RedisSettings are now built using
/src/Sider.Samples/ComplexSetupSample.cs:78for an example.
RedisClientnow supports custom serialization method so the interface and class now has a type parameter:
RedisClient<T>, most of you should simply need to replace
IRedisClient<string>to get everything to compile like in v0.3.
SUBSTRno longer supported, use
GETRANGEinstead as per redis documentation.
- Binary data and custom serialization support has been added.
Right now raw
stringhave a dedicated serializer which will be used automatically when you create
RedisClient<string>. For all other types, a generic binary serializer which uses
BinaryFormatterwill be used. More efficient and specific serializers will be added in the upcoming versions.
- New settings
ValueEncodingfor specifying encoding in case you use a non-ASCII characters as key. (v0.3 assumed that keys would be ASCII-encodable)
- New settings
SerializerOverridefor use with the new custom serialization support.