range ops with limits missing from BoundZSetOperations [DATAREDIS-236]
Jennifer Hickey opened DATAREDIS-236 and commented
The range and reverseRange methods that allow a user to specify an offset and count are present in the ZSetOperations interface, but not the BoundZSetOperations
Affects: 1.0.6, 1.1.0.RC1
Jennifer Hickey commented
Can you describe why this is more impactful for your scenario? I assumed it would be a minor inconvenience to use ZSetOperations instead of BoundZSetOperations in most cases. Do you have a lot of places you would have to modify to inject both interfaces?
Anoop Gopalakrishnan commented
Hi Jennifer, As mentioned earlier in the forum post, I do not directly interact with the redis template rather through a spring integration store inbound channel adapter with a poller. The source poller then creates a a DefaultRedisZSet object which is injected with the redistemplate as a constructor where the BoundZsetOperation is created. However the redis template is not exposed through a getter message. If this was so, I could in my downstream component just call payload.getTemplate().rangeByScore(key, int, int, int, int) as you suggested.
I could as a workaround instead of using the default inbound adapter from SI, create my own Service Activator to do the job. That said, would be great if this can be included in the upcoming release so that I could use the components from SI as is. One could argue though that this is minor
Mark Paluch commented
We should add the following methods:
- rangeByScoreWithScores
- rangeByScore
- reverseRangeByScore
- reverseRangeByScoreWithScores