There is work that can be a little slow, since all operations are O (n).
- Use LIndex to save the old value on the client.
- Use LSet to set a tag value that has never been inserted into a list in an index.
- Use LINSERT to insert 2 values (new value, old saved value) after the tag value.
- Use LRem to remove the tag value.
- All operations must be performed in a transaction.