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.