Be notified of new releases
Create your free GitHub account today to subscribe to this repository for new releases and build software alongside 28 million developers.Sign up
This release brings TinyRedis uptodate with dmd 2.071. Bumped up to 2.1, due to more new features than usual.
- dub updates: dub.json has been spruced up to provide feature parity with the Makefile. Building a lib, and running tests were working. Now examples can also be compiled via dub.
- dmd 2.071 : Updated to dmd 2.071. Thanks to a patch by @John-Colvin
- simpler import : Imports have been clumped into one namespace.
- tinyredis.collections: This is the start of some work that his been lying around in master for a while. I've been meaning to write simple OOP wrappers for common data types on Redis. This release includes a basic class to simplify working with SETs
- PubSub: This much requested feature has finally landed! All thanks to @acehreli for building out the complete feature set. PubSub is a Redis feature that works like a lightweight, centralised message queue. A new Subscriber class provides the complete range of functionality to work with message queues. Messages can be handled via function handlers. See the
examples/console.dfor an example of subscribing/unsubscribing to a queue, and for sample usage of the API.
Qualified the debug output with
debug(tinyredis) . In order to see debug output, compile tinyredis with
dmd -debug=tinyredis examples/example.d tinyredis/*
This is a minor bug fix and feature release.
- Minor changes were made to the encoder. The templated forms of the encoder now
bypass the single string version. This makes encoding faster, as the single string version checks the
entire length of the string for escape sequences. LUA sequences don't need to be especially escaped
(unless passed to the single string version). Thanks to a bug report by @arjunadeltoso .
- Response struct now works with foreach_reverse.
- Response struct is now a BiDirectionalRange.
- Benchmark script now correctly reports the reqs/s.
- Minor bug fixes.
This is a major release with lots of rewriting underneath the public interfaces. The goal of this release was to reduce allocations and split out functionality into different modules, while maintaining backwards compatibility with the public interfaces. The results are as follows :
- The encoder has been split into it's own namespace. Various templated functions were added, and the
request struct has been removed. std.array.appender is used more often. Unit-tests have been maintained
and the encoder fully passes all previous tests.
- The parser remains as is.
- The response struct is unchanged.
- The connection class has been removed in favor of a couple of functions used with UFCS.
- The redis class brings together the rest of the namespaces.
The benchmarking script has been slightly altered to mimic redis-benchmark.