Details
-
Enhancement
-
Resolution: Unresolved
-
Major
-
None
-
None
-
None
Description
It could be useful to give a command an idea of a delivery guarantee such as AT_MOST_ONCE, AT_LEAST_ONCE, EXACTLY_ONCE. Currently our code tries its best to always do EXACTLY_ONCE when possible. This causes some performance loss and extra memory requires for some operations when using a Store.
For example the publisher method on CacheSet when using a store, should be able to instead of using concat and removing duplicates can just use the merge method and return duplicates when AT_LEAST_ONCE is in use. This wouldn't require tracking keys either then.
Using AT_MOST_ONCE in this case is a bit more interesting, and may just stay the same as EXACTLY_ONCE though.