After the discussion here, while trying to improve the performance of Get(keys[]), I started implementing a TAP (Task-based Asynchronous Pattern) wrapper that uses GetAsync().
The TAP stuff won’t be there until 2.1.0, it was intended to be released in 2.0.0, but wasn’t ready. Once it’s merged, there will be async methods for most of the operations and methods defined synchronously.
On a side note, I am working on some changes to the IO layer that will allow for a multi-method implementation similar to how the 1.X works, with a twist: the CPU intensive stuff (building the packet and transcoding the packet) will TPL. It’s still a ways off before it’s per-formant and stable enough though for release.
Thanks for your answer.
Is there any time frame for 2.1.0 ?
Will Get() support keys array or just a single key as in the interface ? By support I mean concurrent get of all the keys, not one async that does sequential get ?
Will Upsert support keys array ?
I still believe that latency is the bottleneck rather than CPU and thus TAP will perform better than TPL.
Tentatively, first week of March. That date could change; it’s hard to predict the future.
There will be overloads for GetAsync(key) and GetAsync(keys). The implementation of “keys” will be concurrent get of all keys. Of course, I am not 100% of the implementation ATM.