Redis has a few commands that are dangerously similar. Two of them are rpush and rpushx. rpush appends items to the list at the given key, and creates a new list if the key doesn’t already exist. rpushx, on the other hand, appends items to the list at the given key if and only if the key already exists. If that key doesn’t exist, nothing happens.

If you use redis for anything, make sure the command you’re using is really the command you thought you were using. Learn from my mistakes, it could save you hours of swearing at your unit tests :)