ServiceStack/ServiceStack.Redis — pull request #96 by mikkelfish (2012-10-18 04:14:51+00:00)
Title: Changed list queue functions to reflect RPOPLPUSH

I'm using multiple queues and pushing between them. I noticed that after enqueuing items calls to PopAndPushItemBetweenLists was taking the most recent item instead of the oldest.

Looking at the code for ServiceStack.Redis that appears to be because it uses a RPush and LPop whereas PopAndPushItemBetweenLists uses RPop and LPush.

Since there is no LPOPRPUSH and one of the patterns on the command is for reliable queues, I've switched the Enqueue/Dequeue to use RPop and LPush as well.

I've created the new unit test PopAndPushSameAsDequeue and modified all the areas that seemed relevant.

Thanks.